|
@@ -1,80 +1,102 @@
|
|
|
--include makefile.init
|
|
|
|
|
-#-include makefile.defs
|
|
|
|
|
-RM := rm -rf
|
|
|
|
|
-CC := gcc
|
|
|
|
|
-LINKER := gcc
|
|
|
|
|
-CFLAGS := -std=c11 -pedantic -Wall -Wextra -Wconversion
|
|
|
|
|
-LDFLAGS := -L/usr/local/cuda/lib64 -L/opt/intel/opencl/lib64
|
|
|
|
|
-OUTPUTFLAGS := -c -fmessage-length=0
|
|
|
|
|
-MISCFLAGS := -pthread
|
|
|
|
|
-INCLUDES := -I"src/include_h/" -I"src/include_hd/" \
|
|
|
|
|
- -I"/usr/local/cuda/include"
|
|
|
|
|
-DEFS :=
|
|
|
|
|
# for debug
|
|
# for debug
|
|
|
MODEFLAGS := -O0 -g3
|
|
MODEFLAGS := -O0 -g3
|
|
|
TARGETDIR := build/Debug
|
|
TARGETDIR := build/Debug
|
|
|
# for release
|
|
# for release
|
|
|
### MODEFLAGS := -O3
|
|
### MODEFLAGS := -O3
|
|
|
### TARGETDIR := build/Release
|
|
### TARGETDIR := build/Release
|
|
|
-# All of the sources participating in the build are defined here
|
|
|
|
|
-# -include sources.mk
|
|
|
|
|
-OBJS :=
|
|
|
|
|
-C_DEPS :=
|
|
|
|
|
-# Every subdirectory with source files must be described here
|
|
|
|
|
-SRCDIR := src
|
|
|
|
|
-# -include subdir.mk
|
|
|
|
|
-# Add inputs and outputs from these tool invocations to the build variables
|
|
|
|
|
-C_SRCS += $(wildcard $(SRCDIR)/*.c)
|
|
|
|
|
-#OBJS += $(wildcard $(TARGETDIR)/*.o)
|
|
|
|
|
-OBJS += $(patsubst $(SRCDIR)/%.c,$(TARGETDIR)/%.o,$(C_SRCS))
|
|
|
|
|
-C_DEPS += $(wildcard $(TARGETDIR)/*.d)
|
|
|
|
|
|
|
|
|
|
OCLH_BUILDER_NAME := oclh_br
|
|
OCLH_BUILDER_NAME := oclh_br
|
|
|
OCLH_COMPILER_NAME := oclh_cr
|
|
OCLH_COMPILER_NAME := oclh_cr
|
|
|
OCLH_LINKER_NAME := oclh_lr
|
|
OCLH_LINKER_NAME := oclh_lr
|
|
|
OCLH_LIBRARY_NAME := liboclh.so
|
|
OCLH_LIBRARY_NAME := liboclh.so
|
|
|
|
|
|
|
|
|
|
+RM := rm -rf
|
|
|
|
|
+CC := gcc
|
|
|
|
|
+LINKER := gcc
|
|
|
|
|
+CFLAGS := -std=c11 -pedantic -Wall -Wextra -Wconversion
|
|
|
|
|
+LDFLAGS := -L/usr/local/cuda/lib64 -L/opt/intel/opencl/lib64
|
|
|
|
|
+OUTPUTFLAGS := -c -fmessage-length=0
|
|
|
|
|
+MISCFLAGS := -pthread
|
|
|
|
|
+INCLUDES := -I"src/include_h/" -I"src/include_hd/" \
|
|
|
|
|
+ -I"/usr/local/cuda/include"
|
|
|
|
|
+LIBS := -lOpenCL
|
|
|
|
|
+DEFS :=
|
|
|
|
|
+
|
|
|
|
|
+# Every subdirectory with source files must be described here
|
|
|
|
|
+SRCDIR := src
|
|
|
|
|
+# Add inputs and outputs from these tool invocations to the build variables
|
|
|
|
|
+C_SRCS += $(wildcard $(SRCDIR)/*.c)
|
|
|
|
|
+
|
|
|
|
|
+TARGETDIR_BR := $(TARGETDIR)/br.o
|
|
|
|
|
+OBJS_BR += $(patsubst $(SRCDIR)/%.c,$(TARGETDIR_BR)/%.o,$(C_SRCS))
|
|
|
|
|
+C_DEPS_BR :=
|
|
|
|
|
+C_DEPS_BR += $(wildcard $(TARGETDIR_BR)/*.d)
|
|
|
|
|
+TARGETDIR_CR := $(TARGETDIR)/cr.o
|
|
|
|
|
+OBJS_CR += $(patsubst $(SRCDIR)/%.c,$(TARGETDIR_CR)/%.o,$(C_SRCS))
|
|
|
|
|
+C_DEPS_CR :=
|
|
|
|
|
+C_DEPS_CR += $(wildcard $(TARGETDIR_CR)/*.d)
|
|
|
|
|
+TARGETDIR_LR := $(TARGETDIR)/lr.o
|
|
|
|
|
+OBJS_LR += $(patsubst $(SRCDIR)/%.c,$(TARGETDIR_LR)/%.o,$(C_SRCS))
|
|
|
|
|
+C_DEPS_LR :=
|
|
|
|
|
+C_DEPS_LR += $(wildcard $(TARGETDIR_LR)/*.d)
|
|
|
|
|
+TARGETDIR_LIB := $(TARGETDIR)/lib.o
|
|
|
|
|
+OBJS_LIB += $(patsubst $(SRCDIR)/%.c,$(TARGETDIR_LIB)/%.o,$(C_SRCS))
|
|
|
|
|
+C_DEPS_LIB :=
|
|
|
|
|
+C_DEPS_LIB += $(wildcard $(TARGETDIR_LIB)/*.d)
|
|
|
|
|
+
|
|
|
# Each subdirectory must supply rules for building sources it contributes
|
|
# Each subdirectory must supply rules for building sources it contributes
|
|
|
-$(TARGETDIR)/%.o: $(SRCDIR)/%.c
|
|
|
|
|
- @echo 'Building file: $<'
|
|
|
|
|
- @echo 'Invoking: GCC C Compiler'
|
|
|
|
|
- mkdir -p $(TARGETDIR); \
|
|
|
|
|
|
|
+$(TARGETDIR_BR)/%.o: $(SRCDIR)/%.c
|
|
|
|
|
+ mkdir -p $(TARGETDIR_BR); \
|
|
|
$(CC) $(INCLUDES) $(MODEFLAGS) $(CFLAGS) $(DEFS) $(OUTPUTFLAGS) \
|
|
$(CC) $(INCLUDES) $(MODEFLAGS) $(CFLAGS) $(DEFS) $(OUTPUTFLAGS) \
|
|
|
- -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" \
|
|
|
|
|
- -o "$@" "$<"
|
|
|
|
|
- @echo 'Finished building: $<'
|
|
|
|
|
- @echo ' '
|
|
|
|
|
-# -include objects.mk
|
|
|
|
|
-USER_OBJS :=
|
|
|
|
|
-LIBS := -lOpenCL
|
|
|
|
|
|
|
+ -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
|
|
|
|
|
+$(TARGETDIR_CR)/%.o: $(SRCDIR)/%.c
|
|
|
|
|
+ mkdir -p $(TARGETDIR_CR); \
|
|
|
|
|
+ $(CC) $(INCLUDES) $(MODEFLAGS) $(CFLAGS) $(DEFS) $(OUTPUTFLAGS) \
|
|
|
|
|
+ -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
|
|
|
|
|
+$(TARGETDIR_LR)/%.o: $(SRCDIR)/%.c
|
|
|
|
|
+ mkdir -p $(TARGETDIR_LR); \
|
|
|
|
|
+ $(CC) $(INCLUDES) $(MODEFLAGS) $(CFLAGS) $(DEFS) $(OUTPUTFLAGS) \
|
|
|
|
|
+ -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
|
|
|
|
|
+$(TARGETDIR_LIB)/%.o: $(SRCDIR)/%.c
|
|
|
|
|
+ mkdir -p $(TARGETDIR_LIB); \
|
|
|
|
|
+ $(CC) $(INCLUDES) $(MODEFLAGS) $(CFLAGS) $(DEFS) $(OUTPUTFLAGS) \
|
|
|
|
|
+ -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
|
|
|
|
|
|
|
|
-ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
|
-ifneq ($(strip $(C_DEPS)),)
|
|
|
|
|
--include $(C_DEPS)
|
|
|
|
|
-endif
|
|
|
|
|
-endif
|
|
|
|
|
-# Add inputs and outputs from these tool invocations to the build variables
|
|
|
|
|
|
|
+# Add inputs and outputs from these tool invocations to the build variables
|
|
|
# All Target
|
|
# All Target
|
|
|
-all: oclh_builder
|
|
|
|
|
|
|
+all: oclh_compiler oclh_builder
|
|
|
# Tool invocations
|
|
# Tool invocations
|
|
|
oclh_builder: DEFS= -D__OCLH_BUILDER_FLAG -D__OCLH_BUILD_LOG_TO_STDOUT_FLAG
|
|
oclh_builder: DEFS= -D__OCLH_BUILDER_FLAG -D__OCLH_BUILD_LOG_TO_STDOUT_FLAG
|
|
|
oclh_builder: OUTPUTNAME=$(OCLH_BUILDER_NAME)
|
|
oclh_builder: OUTPUTNAME=$(OCLH_BUILDER_NAME)
|
|
|
-oclh_builder: $(OBJS) $(USER_OBJS)
|
|
|
|
|
|
|
+oclh_builder: $(OBJS_BR)
|
|
|
@echo 'Building target: $@'
|
|
@echo 'Building target: $@'
|
|
|
@echo 'Invoking C Linker'
|
|
@echo 'Invoking C Linker'
|
|
|
- $(LINKER) $(LDFLAGS) $(MISCFLAGS) $(LIBS) \
|
|
|
|
|
- -o "$(TARGETDIR)/$(OUTPUTNAME)" $(OBJS) $(USER_OBJS)
|
|
|
|
|
|
|
+ $(LINKER) $(LDFLAGS) $(MISCFLAGS) $(LIBS) $(OBJS_BR) \
|
|
|
|
|
+ -o "$(TARGETDIR)/$(OUTPUTNAME)"
|
|
|
|
|
+ @echo 'Finished building target: $@'
|
|
|
|
|
+ @echo ' '
|
|
|
|
|
+oclh_compiler: DEFS= -D__OCLH_COMPILER_ONLY_FLAG -D__OCLH_BUILD_LOG_TO_STDOUT_FLAG
|
|
|
|
|
+oclh_compiler: OUTPUTNAME=$(OCLH_COMPILER_NAME)
|
|
|
|
|
+oclh_compiler: $(OBJS_CR)
|
|
|
|
|
+ @echo 'Building target: $@'
|
|
|
|
|
+ @echo 'Invoking C Linker'
|
|
|
|
|
+ $(LINKER) $(LDFLAGS) $(MISCFLAGS) $(LIBS) $(OBJS_CR) \
|
|
|
|
|
+ -o "$(TARGETDIR)/$(OUTPUTNAME)"
|
|
|
@echo 'Finished building target: $@'
|
|
@echo 'Finished building target: $@'
|
|
|
@echo ' '
|
|
@echo ' '
|
|
|
-# Other Targets
|
|
|
|
|
clean:
|
|
clean:
|
|
|
- $(RM) $(OBJS)$(C_DEPS) \
|
|
|
|
|
|
|
+ $(RM) \
|
|
|
|
|
+ $(OBJS_BR)$(C_DEPS_BR)$(TARGETDIR_BR) \
|
|
|
|
|
+ $(OBJS_CR)$(C_DEPS_CR)$(TARGETDIR_CR) \
|
|
|
|
|
+ $(OBJS_LR)$(C_DEPS_LR)$(TARGETDIR_LR) \
|
|
|
|
|
+ $(OBJS_LIB)$(C_DEPS_LIB)$(TARGETDIR_LIB) \
|
|
|
$(TARGETDIR)/$(OCLH_BUILDER_NAME) \
|
|
$(TARGETDIR)/$(OCLH_BUILDER_NAME) \
|
|
|
$(TARGETDIR)/$(OCLH_COMPILER_NAME) \
|
|
$(TARGETDIR)/$(OCLH_COMPILER_NAME) \
|
|
|
$(TARGETDIR)/$(OCLH_LINKER_NAME) \
|
|
$(TARGETDIR)/$(OCLH_LINKER_NAME) \
|
|
|
$(TARGETDIR)/$(OCLH_LIBRARY_NAME)
|
|
$(TARGETDIR)/$(OCLH_LIBRARY_NAME)
|
|
|
@echo ' '
|
|
@echo ' '
|
|
|
|
|
|
|
|
-.PHONY: all clean dependents
|
|
|
|
|
|
|
+.PHONY: all clean
|
|
|
|
|
+
|
|
|
|
|
|
|
|
-include makefile.targets
|
|
-include makefile.targets
|