13d58139fSopenharmony_ciPROJECT=libboundscheck.so
23d58139fSopenharmony_ci
33d58139fSopenharmony_ciCC?=gcc
43d58139fSopenharmony_ci
53d58139fSopenharmony_ciOPTION  = -fPIC
63d58139fSopenharmony_ciOPTION += -fstack-protector-all
73d58139fSopenharmony_ciOPTION += -D_FORTIFY_SOURCE=2 -O2
83d58139fSopenharmony_ciOPTION += -Wformat=2 -Wfloat-equal -Wshadow
93d58139fSopenharmony_ciOPTION += -Wconversion
103d58139fSopenharmony_ciOPTION += -Wformat-security
113d58139fSopenharmony_ciOPTION += -Wextra
123d58139fSopenharmony_ciOPTION += --param ssp-buffer-size=4
133d58139fSopenharmony_ciOPTION += -Warray-bounds
143d58139fSopenharmony_ciOPTION += -Wpointer-arith
153d58139fSopenharmony_ciOPTION += -Wcast-qual
163d58139fSopenharmony_ciOPTION += -Wstrict-prototypes
173d58139fSopenharmony_ciOPTION += -Wmissing-prototypes
183d58139fSopenharmony_ciOPTION += -Wstrict-overflow=1
193d58139fSopenharmony_ciOPTION += -Wstrict-aliasing=2
203d58139fSopenharmony_ciOPTION += -Wswitch -Wswitch-default
213d58139fSopenharmony_ci
223d58139fSopenharmony_ciCFLAG   =  -Wall -DNDEBUG -O2 $(OPTION)
233d58139fSopenharmony_ci
243d58139fSopenharmony_ciSOURCES=$(wildcard src/*.c)
253d58139fSopenharmony_ci
263d58139fSopenharmony_ciOBJECTS=$(patsubst %.c,%.o,$(SOURCES))
273d58139fSopenharmony_ci
283d58139fSopenharmony_ci.PHONY:clean
293d58139fSopenharmony_ci
303d58139fSopenharmony_ciCFLAG += -Iinclude
313d58139fSopenharmony_ciLD_FLAG = -fPIC -s -Wl,-z,relro,-z,now,-z,noexecstack -fstack-protector-all
323d58139fSopenharmony_ci
333d58139fSopenharmony_ci$(PROJECT): $(OBJECTS)
343d58139fSopenharmony_ci	mkdir -p lib
353d58139fSopenharmony_ci	$(CC)  -shared -o lib/$@ $(patsubst %.o,obj/%.o,$(notdir $(OBJECTS))) $(LD_FLAG)
363d58139fSopenharmony_ci	@echo "finish $(PROJECT)"
373d58139fSopenharmony_ci
383d58139fSopenharmony_ci.c.o:
393d58139fSopenharmony_ci	@mkdir -p obj
403d58139fSopenharmony_ci	$(CC) -c $< $(CFLAG) -o obj/$(patsubst %.c,%.o,$(notdir $<))
413d58139fSopenharmony_ci
423d58139fSopenharmony_ciclean:
433d58139fSopenharmony_ci	-rm -rf obj lib
443d58139fSopenharmony_ci	@echo "clean up"
45