diff --git a/Makefile b/Makefile index e6fc461..4bcb2e6 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,8 @@ BIN=build/$(PROJECTNAME) CC=g++ EXT=cpp -INCDIRS=include lib +INCFOLDERS=include lib +INCDIRS=$(foreach I,$(INCFOLDERS),$(shell find $(I) -type d 2>/dev/null)) # make mode=release ifeq ($(mode), release) @@ -17,7 +18,9 @@ FLAGS=-Wall -Wextra $(foreach F,$(INCDIRS),-I$(F)) $(OPT) $(DEPFLAGS) SRC=$(shell find . -name "*.$(EXT)" -path "./src/*") OBJ=$(subst ./src/,./build/,$(SRC:.$(EXT)=.o)) DEP=$(OBJ:.o=.d) +ASM=$(OBJ:.o=.s) TEST=$(shell find . -name "*.$(EXT)" -path "./test/*") +TESTO=$(subst ./test/,./build/,$(TEST:.$(EXT)=.test)) $(shell mkdir -p build) @@ -39,14 +42,15 @@ clean : rm -rf build/* # make test file=testGenID.cpp -test : $(OBJ) - $(CC) $(FLAGS) -o build/$(file:.$(EXT)=) test/$(file) - ./build/$(file:.$(EXT)=) +test : build/$(file:.$(EXT)=.test) + ./build/$(file:.$(EXT)=.test) -alltest : - @for f in $(subst ./test/,,$(TEST)); do \ - $(CC) $(FLAGS) -o build/$${f%.$(EXT)} test/$$f && ./build/$${f%.$(EXT)};\ - done +alltest : $(TESTO) + for i in $$(ls build/*.test); do echo $$i; $$i; done + +build/%.test : test/%.$(EXT) + @mkdir -p $(@D) + $(CC) $(FLAGS) -o $@ $< check : cppcheck --enable=all --suppress=missingIncludeSystem $(foreach I,$(INCDIRS),-I$(I)) . @@ -61,4 +65,33 @@ dist : clean $(info /!\ project folder has to be named $(PROJECTNAME) /!\ ) cd .. && tar zcvf $(PROJECTNAME)/build/$(PROJECTNAME).tgz $(PROJECTNAME) >/dev/null -.PHONY : all run clean test alltest check info dist +asm : $(ASM) $(BIN) $(BIN).s + +build/%.s : src/%.$(EXT) + @mkdir -p $(@D) + $(CC) $(FLAGS) -S $^ -o $@ + +$(BIN).s : + objdump -drwC -Mintel -S $(BIN) > $(BIN).s + +debug : $(BIN) + gdb $(BIN) $(input) + +preprocess : $(OBJ:.o=.i) + +build/%.i : src/%.$(EXT) + @mkdir -p $(@D) + $(CC) $(FLAGS) -E $^ -o $@ + +gigall : all asm preprocess $(TESTO) + +install : dist + cp Makefile ../script + mv build/OMTRTA.tgz ../opt/archive + cd .. && rm -rf OMTRTA + +push : + git push bbsrv + git push gh + +.PHONY : all run clean test alltest check info dist asm debug preprocess gigall install push diff --git a/bashrc b/bashrc index 04c2df5..3b6c9d5 100644 --- a/bashrc +++ b/bashrc @@ -90,6 +90,9 @@ alias listf="ssh nbbsrv docker exec mcsrv-f rcon-cli list" alias lista="list; listf" alias cpmake="cp $HOME/dev/script/Makefile ." alias vbashrc="v $HOME/dev/script/bashrc" +alias obsidian="~/downloads/Obsidian-1.3.5.AppImage >/dev/null 2>/dev/null &" +alias hamood="figlet habibi | lolcat -p 0.5 && espeak -v af habibi" +alias please="sudo" # alias avec parametre emoji(){ grep -i $1 ~/documents/emoji; }