Untitled

 avatar
unknown
plain_text
3 years ago
915 B
6
Indexable
ROOT := ../../
PATH_BUILD := $(addprefix $(ROOT),build)
src_dirs := src/data_libs src/data_module src/main_executable_module src/yet_another_decision_module
src_dirs := $(addprefix $(ROOT), $(src_dirs))


VPATH := $(src_dirs)

all: build 

build: main_executable_module

main_executable_module: main_executable_module.o data_process.o 
	gcc ${PATH_BUILD}/*.o -o ${PATH_BUILD}/main

build_with_static: data_stat.a
	cd $(PATH_BUILD) && gcc *.o -L.  -o $@

data_process.so:data_process.c
	gcc -c $<  -fpic -o ${PATH_BUILD}/$@
	cd ${PATH_BUILD} && gcc -shared data_process.o -o libdata_process.so

build_with_dynamic: main_executable_module.o data_stat.o data_process.so
	cd ${PATH_BUILD} && gcc main_executable_module.o data_stat.o -L . -ldata_procces -o $@
	
data_stat.a:data_stat.o
	cd $(PATH_BUILD) && ar rcs lib$@ $^

%.o: %.c
	gcc -c $< -o ${PATH_BUILD}/$@

clean:
	rm -rf ${PATH_BUILD}/*

rebuild:clean
	$(MAKE)
Editor is loading...