mirror of
https://github.com/eclipse-threadx/threadx.git
synced 2025-11-16 04:24:48 +00:00
Add files via upload
This commit is contained in:
85
ports/linux/gnu/example_build/Makefile
Normal file
85
ports/linux/gnu/example_build/Makefile
Normal file
@@ -0,0 +1,85 @@
|
||||
CC = gcc
|
||||
AR=ar cr
|
||||
DEFINES = -DTX_LINUX_DEBUG_ENABLE -D_GNU_SOURCE -DTX_LINUX_MULTI_CORE -DTX_ENABLE_EVENT_TRACE
|
||||
ifdef NO_IDLE
|
||||
DEFINES += -DTX_LINUX_NO_IDLE_ENABLE
|
||||
TITLE = "No idle"
|
||||
else
|
||||
TITLE = "TX"
|
||||
endif
|
||||
ifdef ARCH64
|
||||
TITLE+=":64"
|
||||
else
|
||||
TITLE+=":32"
|
||||
ARCH = -m32
|
||||
endif
|
||||
COMMON_PATH=$(DIR)/../../../../common
|
||||
INCLUDES = -I$(COMMON_PATH)/inc -I$(DIR)/../inc
|
||||
CFLAGS = -g3 $(ARCH) -g3 -fPIC -gdwarf-2 -std=c99 $(DEFINES) $(INCLUDES)
|
||||
LINK = gcc $(ARCH)
|
||||
LIBS = -lpthread -lrt
|
||||
FILE_LIST = file_list.mk
|
||||
DEPEND_LIST = $(OUTPUT_FOLDER)/*.d
|
||||
OUTPUT_FOLDER= .tmp
|
||||
DIR=$(shell pwd)
|
||||
|
||||
include $(FILE_LIST)
|
||||
|
||||
all: $(OUTPUT_FOLDER) sample_threadx tx.so
|
||||
echo $(TITLE) build done
|
||||
|
||||
$(OUTPUT_FOLDER):
|
||||
mkdir -p $@
|
||||
mkdir -p $@/generic/
|
||||
|
||||
sample_threadx: $(OUTPUT_FOLDER)/sample_threadx.o tx.a
|
||||
echo LD $@
|
||||
$(LINK) -o $@ $^ $(LIBS)
|
||||
|
||||
tx.a: $(OUTPUT_FOLDER) $(LINUX_OBJS) $(GENERIC_OBJS)
|
||||
echo AR $@
|
||||
$(AR) $@ $(LINUX_OBJS) $(GENERIC_OBJS)
|
||||
|
||||
tx.so: $(OUTPUT_FOLDER) $(LINUX_OBJS) $(GENERIC_OBJS)
|
||||
cc -fPIC -shared -Wl,-soname,$@ -o $@ $(LINUX_OBJS) $(GENERIC_OBJS) $(LIBS) $(ARCH)
|
||||
|
||||
$(OUTPUT_FOLDER)/sample_threadx.o: sample_threadx.c $(DIR)/Makefile
|
||||
filename=`basename $<`; \
|
||||
echo CC $$filename; \
|
||||
$(CC) $(CFLAGS) -MT $@ -MD -MP -MF $(OUTPUT_FOLDER)/$$filename.d -c -o $@ $<
|
||||
|
||||
$(OUTPUT_FOLDER)/%.o: ../src/%.c $(DIR)/Makefile
|
||||
filename=`basename $<`; \
|
||||
echo CC $$filename; \
|
||||
$(CC) $(CFLAGS) -MT $@ -MD -MP -MF $(OUTPUT_FOLDER)/$$filename.d -c -o $@ $<
|
||||
|
||||
$(OUTPUT_FOLDER)/generic/%.o: $(COMMON_PATH)/src/%.c $(DIR)/Makefile
|
||||
filename=`basename $<`; \
|
||||
echo CC $$filename; \
|
||||
$(CC) $(CFLAGS) -MT $@ -MD -MP -MF $(OUTPUT_FOLDER)/$$filename.d -c -o $@ $<
|
||||
|
||||
-include $(DEPEND_LIST)
|
||||
|
||||
.SILENT:
|
||||
.PHONY: files clean
|
||||
files:
|
||||
@echo "LINUX_SRCS = \\" > $(FILE_LIST);
|
||||
-@for file in *.c; \
|
||||
do \
|
||||
filename=`basename $$file`; \
|
||||
[ "$$file" == "sample_threadx.c" ] || echo "$$filename \\" >> $(FILE_LIST); \
|
||||
done;
|
||||
@printf "\n" >> $(FILE_LIST);
|
||||
@echo 'LINUX_OBJS = $$(LINUX_SRCS:%.c=$(OUTPUT_FOLDER)/%.o)' >> $(FILE_LIST);
|
||||
@printf "\n\n" >> $(FILE_LIST);
|
||||
@echo "GENERIC_SRCS = \\" >> $(FILE_LIST);
|
||||
-@for file in $(COMMON_PATH)/src/*.c; \
|
||||
do \
|
||||
filename=`basename $$file`; \
|
||||
[ "$$file" == "sample_threadx.c" ] || echo "$$filename \\" >> $(FILE_LIST); \
|
||||
done;
|
||||
@printf "\n" >> $(FILE_LIST);
|
||||
@echo 'GENERIC_OBJS = $$(GENERIC_SRCS:%.c=$(OUTPUT_FOLDER)/generic/%.o)' >> $(FILE_LIST);
|
||||
|
||||
clean:
|
||||
-rm -f -r $(OUTPUT_FOLDER) tx.a sample_threadx tx.so
|
||||
Reference in New Issue
Block a user