SRCDIR := .
INCDIRS := .
TARGET := sdl_test
CSRCS=
root=$(shell pwd)
Q :=@
OUTPUT_DIR_NAME := obj
cross_complier :=arm-anykav500-linux-uclibcgnueabi-
CC :=$(cross_complier)gcc
cpp_complier:=$(cross_complier)g++
LD :=$(cross_complier)ld
OBJCOPY :=$(cross_complier)objcopy
CSRCS += $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.c))
CPPSRCS += $(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.cpp))
SFILES :=$(foreach dir, $(SRCDIR), $(wildcard $(dir)/*.S))
# CSOUCEFILE_NODIR :=$(notdir $(CSRCS))
# SSOUCEFILE_NODIR :=$(notdir $(SFILES))
# CPLUSPLUSSOUCEFILE_NODIR :=$(notdir $(CPPSRCS))
COBJS :=$(CSRCS :%.c=%.o)
CPLUSPLUSOBJS :=$(CPPSRCS:%.cpp=%.o)
SOBJS :=$(SSOUCEFILE_NODIR:%.S=$(OUTPUT_DIR_NAME)/%.o)
# COBJS :=$(CSRCS:%.c=%.o)
OBJS := $(COBJS) $(CPLUSPLUSOBJS) $(SOBJS)
INCLUDE := $(patsubst %, -I%, $(INCDIRS))
C_DEFINES:=-D__HELLO__
CFLAGS +=$(C_DEFINES) -Wall -std=c11 -O2 \
# -ISDL2-2.0.7/include
LINKFLAGS= -lSDL2 -lpthread -lrt -lm -ldl
# -LSDL2-2.0.7/lib
CPPFLAGS :=$(C_DEFINES) -Wall -std=c++11 -O2
.PHONY:clean rebuild debug
all: $(TARGET)
$(TARGET):$(OBJS)
$(cpp_complier) $^ $(LINKFLAGS) -o $(TARGET)
%.o:%.c
$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
%.o:%.S
$(CC) $(CFLAGS) $(INCLUDE) -c $< -o $@
%.o:%.cpp
$(cpp_complier) $(CPPFLAGS) $(INCLUDE) -c $< -o $@
createDirs:
@mkdir -p $(OUTPUT_DIR_NAME)
clean:
rm -rf *.o $(TARGET)
rebuild:clean $(TARGET)
debug:
@echo CSRCS=$(CSRCS)
@echo CPPSRCS=$(CPPSRCS)
@echo $(SFILES)
@echo $(CPPSRCS)
@echo $(CSOUCEFILE_NODIR)
@echo $(SSOUCEFILE_NODIR)
@echo $(CPLUSPLUSSOUCEFILE_NODIR)
@echo OBJS=$(OBJS)
03-01
11万+