Initial commit
This commit is contained in:
50
Sully/C/Makefile
Normal file
50
Sully/C/Makefile
Normal file
@@ -0,0 +1,50 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# Makefile :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: lejulien <marvin@42.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2020/07/05 18:43:38 by lejulien #+# #+# #
|
||||
# Updated: 2022/07/29 12:58:41 by lejulien ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
SRCS = ./Sully.c
|
||||
|
||||
SRCS_OBJS = ${SRCS:.c=.o}
|
||||
|
||||
FLAGS = -Wall -Wextra -Werror
|
||||
|
||||
.c.o:
|
||||
gcc -c $< -o $(<:.c=.o)
|
||||
|
||||
NAME = Sully
|
||||
|
||||
$(NAME): $(SRCS_OBJS)
|
||||
@echo "\e[1;35m _ _ _ _ _ _ _ "
|
||||
@echo "\e[1;35m /\ \ /\ \ \e[1;31m 53 75 6C 6C 79 \e[1;35m /\ \ /\_\ /\ \ /\ \ _ /\ \ "
|
||||
@echo "\e[1;35m / \ \____ / \ \ \e[1;32mby lejulien\e[1;35m / \ \ / / / _ \ \ \ / \ \ /\_\ / \ \ "
|
||||
@echo "\e[1;35m / /\ \_____\ / /\ \ \ / /\ \ \ \ \ \__ /\_\ /\ \_\ / /\ \ \_/ / // /\ \ \ "
|
||||
@echo "\e[1;35m / / /\/___ // / /\ \_\ / / /\ \ \ \ \___\ / / / / /\/_/ / / /\ \___/ // / /\ \_\ "
|
||||
@echo "\e[1;35m / / / / / // / /_/ / / / / / \ \_\ \__ / / / / / / / / / / \/____// /_/_ \/_/ "
|
||||
@echo "\e[1;35m / / / / / // / /__\/ / / / / _ / / / / / / / / / / / / / / / / / // /____/\ "
|
||||
@echo "\e[1;35m/ / / / / // / /_____/ ___________ / / / /\ \/ / / / / / / / / / / / / / / / // /\____\/ "
|
||||
@echo "\e[1;35m\ \ \__/ / // / /\ \ \ ___/__________/\ / / /__\ \ \/ / / /___/ / /___/ / /__ / / / / / // / /______ "
|
||||
@echo "\e[1;35m \ \___\/ // / / \ \ \/__________ \ \/ / /____\ \ \/ / /____\/ //\__\/_/___\/ / / / / // / /_______\ "
|
||||
@echo "\e[1;35m \/_____/ \/_/ \_\/\____\/ \____\/\/________\_\/\/_________/ \/_________/\/_/ \/_/ \/__________/ "
|
||||
|
||||
gcc -o $(NAME) $(SRCS_OBJS) $(FLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(SRCS_OBJS)
|
||||
|
||||
fclean: clean
|
||||
rm -f $(NAME)
|
||||
rm -f $(NAME)_*
|
||||
|
||||
re: fclean $(NAME)
|
||||
|
||||
.PHONY: clean fclean re
|
||||
|
||||
|
||||
22
Sully/C/Sully.c
Normal file
22
Sully/C/Sully.c
Normal file
@@ -0,0 +1,22 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <strings.h>
|
||||
|
||||
#define FORMAT "#include <stdio.h>%1$c#include <stdlib.h>%1$c#include <strings.h>%1$c%1$c#define FORMAT %2$c%4$s%2$c%1$c%1$cint i=%5$d;%1$cchar nbuf[1024];%1$c%1$cint main() {%1$c bzero(nbuf,1024);%1$c sprintf(nbuf,%2$c./Sully_%3$cd.c%2$c,i-1);%1$c FILE *o = fopen(nbuf,%2$cw%2$c);%1$c fprintf(o,FORMAT,10,34,37,FORMAT,i-1);%1$c fclose(o);%1$c bzero(nbuf,1024);%1$c if (i-1>0)%1$c sprintf(nbuf,%2$cclang -Wall -Wextra -Werror ./Sully_%3$c1$d.c -o Sully_%3$c1$d;./Sully_%3$c1$d%2$c,i-1);%1$c else%1$c sprintf(nbuf,%2$cclang -Wall -Wextra -Werror ./Sully_%3$c1$d.c -o Sully_%3$c1$d%2$c,i-1);%1$c system(nbuf);%1$c}%1$c"
|
||||
|
||||
int i=5;
|
||||
char nbuf[1024];
|
||||
|
||||
int main() {
|
||||
bzero(nbuf,1024);
|
||||
sprintf(nbuf,"./Sully_%d.c",i-1);
|
||||
FILE *o = fopen(nbuf,"w");
|
||||
fprintf(o,FORMAT,10,34,37,FORMAT,i-1);
|
||||
fclose(o);
|
||||
bzero(nbuf,1024);
|
||||
if (i-1>0)
|
||||
sprintf(nbuf,"clang -Wall -Wextra -Werror ./Sully_%1$d.c -o Sully_%1$d;./Sully_%1$d",i-1);
|
||||
else
|
||||
sprintf(nbuf,"clang -Wall -Wextra -Werror ./Sully_%1$d.c -o Sully_%1$d",i-1);
|
||||
system(nbuf);
|
||||
}
|
||||
30
Sully/C/src/Sully.c
Normal file
30
Sully/C/src/Sully.c
Normal file
@@ -0,0 +1,30 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <strings.h>
|
||||
|
||||
char f[]="#include <stdio.h>%c#include <stdlib.h>%c#include <strings.h>%c%cchar f[]=%c%s%c;%cint i = %d;%cchar nbuf[1024];%c%cint main(int ac, char **av) {%c // get values%c i = (ac == 2)?atoi(av[1]):i;%c if (i < 0) return 0;%c // open file%c bzero(nbuf, 1024);%c sprintf(nbuf, %c./Sully_%cd.c%c, i);%c FILE *o = fopen(nbuf, %cw%c);%c // write code to other%c fprintf(o, f, 10, 10, 10, 10, 34, f, 34, 10, i, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 37, 34, 10, 34, 34, 10, 10, 10, 10, 10, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 34, 10, 10, 10, 10);%c fclose(o);%c // prepare compilation settings%c bzero(nbuf, 1024);%c if (ac == 1)%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd;./Sully_%cd %cd%c, i, i, i, i);%c else if (i > 0)%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd;./Sully_%cd %cd%c, i, i, i, i-1);%c else%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd%c, i, i);%c // execute%c system(nbuf);%c}%c";
|
||||
int i = 5;
|
||||
char nbuf[1024];
|
||||
|
||||
int main(int ac, char **av) {
|
||||
// get values
|
||||
i = (ac == 2)?atoi(av[1]):i;
|
||||
if (i < 0) return 0;
|
||||
// open file
|
||||
bzero(nbuf, 1024);
|
||||
sprintf(nbuf, "./Sully_%d.c", i);
|
||||
FILE *o = fopen(nbuf, "w");
|
||||
// write code to other
|
||||
fprintf(o, f, 10, 10, 10, 10, 34, f, 34, 10, i, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 37, 34, 10, 34, 34, 10, 10, 10, 10, 10, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 34, 10, 10, 10, 10);
|
||||
fclose(o);
|
||||
// prepare compilation settings
|
||||
bzero(nbuf, 1024);
|
||||
if (ac == 1)
|
||||
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d;./Sully_%d %d", i, i, i, i);
|
||||
else if (i > 0)
|
||||
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d;./Sully_%d %d", i, i, i, i-1);
|
||||
else
|
||||
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d", i, i);
|
||||
// execute
|
||||
system(nbuf);
|
||||
}
|
||||
Reference in New Issue
Block a user