aboutsummaryrefslogblamecommitdiffstats
path: root/bruiser/luatablegen/makefile
blob: b59a216cbbbffa5a59f0c19b101a05721ca91479 (plain) (tree)
1
2
3
4
5
6
7

         
              



                                                  








                                                                 




                     
                                                        







                                            

                                                                                                                                



                  






                                               

      
                                            




                                         
CC=clang
CC?=clang
CC_FLAGS=-fpic
CC_EXTRA?=
CC_FLAGS+=$(CC_EXTRA)
SRCS=$(wildcard *.c)
TBG_OBJLIST=$(patsubst %.c, %.o , $(wildcard *.c))
TBG_OBJLIST_DBG=$(patsubst %.c, %.odbg , $(wildcard *.c))
TBG_OBJLIST_COV=$(patsubst %.c, %.ocov , $(wildcard *.c))
ADD_SANITIZERS_CC= -g -fsanitize=address -fno-omit-frame-pointer
ADD_SANITIZERS_LD= -g -fsanitize=address
MEM_SANITIZERS_CC= -g -fsanitize=memory -fno-omit-frame-pointer
MEM_SANITIZERS_LD= -g -fsanitize=memory
UB_SANITIZERS_CC= -g -fsanitize=undefined -fno-omit-frame-pointer
UB_SANITIZERS_LD= -g -fsanitize=undefined
COV_CC= -fprofile-instr-generate -fcoverage-mapping

.DEFAULT:all

.PHONY:all clean help

all:$(TBG_OBJLIST) $(TBG_OBJLIST_DBG) $(TBG_OBJLIST_COV)
	@echo $(TBG_OBJLIST)
	@echo $(TBG_OBJLIST_INC)

depend:.depend

.depend:$(SRCS)
	rm -rf .depend
	$(CC) -MM $(CC_FLAGS) $^ > ./.depend
	echo $(patsubst %.o:, %.odbg:, $(shell $(CC) -MM $(CC_FLAGS) $^)) | sed -r 's/[A-Za-z0-9\-\_]+\.odbg/\n&/g' >> ./.depend
	echo $(patsubst %.o:, %.ocov:, $(shell $(CC) -MM $(CC_FLAGS) $^)) | sed -r 's/[A-Za-z0-9\-\_]+\.ocov/\n&/g' >> ./.depend

-include ./.depend

.c.o:
	$(CC) $(CC_FLAGS) -c $< -o $@

%.odbg:%.c
	$(CC) $(CC_FLAGS) -g -c $< -o $@

%.ocov:%.c
	$(CC) $(CC_FLAGS) $(COV_CC) -c $< -o $@

clean:
	rm -f *.o *~ $(TARGET) *.ocov *.odbg
	rm .depend

help:
	@echo "all is the default target"
	@echo "there is clean."