1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 02:58:12 +00:00

Base: Convert postcreate scripts to use heredoc

This commit is contained in:
sin-ack 2021-08-11 21:50:36 +00:00 committed by Ali Mohammad Pur
parent 4c6a97e757
commit 0e5e6f2e08
3 changed files with 83 additions and 72 deletions

View file

@ -1,19 +1,21 @@
#!/bin/sh #!/bin/sh
echo "PROGRAM = $1" >> $2/Makefile echo > $2/Makefile <<-EOF
echo "OBJS = main.o" >> $2/Makefile PROGRAM = $1
echo "CXXFLAGS = -g -std=c++2a" >> $2/Makefile OBJS = main.o
echo "" >> $2/Makefile CXXFLAGS = -g -std=c++2a
echo "all: \$(PROGRAM)" >> $2/Makefile
echo "" >> $2/Makefile all: \$(PROGRAM)
echo "\$(PROGRAM): \$(OBJS)" >> $2/Makefile
echo " \$(CXX) -o \$@ \$(OBJS)" >> $2/Makefile \$(PROGRAM): \$(OBJS)
echo "" >> $2/Makefile \$(CXX) -o \$@ \$(OBJS)
echo "%.o: %.cpp" >> $2/Makefile
echo " \$(CXX) \$(CXXFLAGS) -o \$@ -c \$< " >> $2/Makefile %.o: %.cpp
echo "" >> $2/Makefile \$(CXX) \$(CXXFLAGS) -o \$@ -c \$<
echo "clean:" >> $2/Makefile
echo " rm \$(OBJS) \$(PROGRAM)" >> $2/Makefile clean:
echo "" >> $2/Makefile rm \$(OBJS) \$(PROGRAM)
echo "run:" >> $2/Makefile
echo " ./\$(PROGRAM)" >> $2/Makefile run:
./\$(PROGRAM)
EOF

View file

@ -1,19 +1,22 @@
#!/bin/sh #!/bin/sh
echo "PROGRAM = $1" >> $2/Makefile echo > $2/Makefile <<-EOF
echo "OBJS = main.o" >> $2/Makefile PROGRAM = $1
echo "CXXFLAGS = -lgui -g -std=c++2a" >> $2/Makefile OBJS = main.o
echo "" >> $2/Makefile CXXFLAGS = -g -std=c++2a
echo "all: \$(PROGRAM)" >> $2/Makefile LDFLAGS = -lgui
echo "" >> $2/Makefile
echo "\$(PROGRAM): \$(OBJS)" >> $2/Makefile all: \$(PROGRAM)
echo " \$(CXX) \$(CXXFLAGS) -o \$@ \$(OBJS)" >> $2/Makefile
echo "" >> $2/Makefile \$(PROGRAM): \$(OBJS)
echo "%.o: %.cpp" >> $2/Makefile \$(CXX) \$(LDFLAGS) -o \$@ \$(OBJS)
echo " \$(CXX) \$(CXXFLAGS) -o \$@ -c \$< " >> $2/Makefile
echo "" >> $2/Makefile %.o: %.cpp
echo "clean:" >> $2/Makefile \$(CXX) \$(CXXFLAGS) -o \$@ -c \$<
echo " rm \$(OBJS) \$(PROGRAM)" >> $2/Makefile
echo "" >> $2/Makefile clean:
echo "run:" >> $2/Makefile rm \$(OBJS) \$(PROGRAM)
echo " ./\$(PROGRAM)" >> $2/Makefile
run:
./\$(PROGRAM)
EOF

View file

@ -5,45 +5,51 @@
# $3: Project name, namespace safe # $3: Project name, namespace safe
# Generate Makefile # Generate Makefile
echo "LIBRARY = $1.so" >> $2/Makefile echo > $2/Makefile <<-EOF
echo "OBJS = Class1.o" >> $2/Makefile LIBRARY = $1.so
echo "CXXFLAGS = -g -std=c++2a" >> $2/Makefile OBJS = Class1.o
echo "" >> $2/Makefile CXXFLAGS = -g -std=c++2a
echo "all: \$(LIBRARY)" >> $2/Makefile
echo "" >> $2/Makefile all: \$(LIBRARY)
echo "\$(LIBRARY): \$(OBJS)" >> $2/Makefile
echo " \$(CXX) -shared -o \$@ \$(OBJS)" >> $2/Makefile \$(LIBRARY): \$(OBJS)
echo "" >> $2/Makefile \$(CXX) -shared -o \$@ \$(OBJS)
echo "%.o: %.cpp" >> $2/Makefile
echo " \$(CXX) \$(CXXFLAGS) -fPIC -o \$@ -c \$< " >> $2/Makefile %.o: %.cpp
echo "" >> $2/Makefile \$(CXX) \$(CXXFLAGS) -fPIC -o \$@ -c \$<
echo "clean:" >> $2/Makefile
echo " rm \$(OBJS) \$(LIBRARY)" >> $2/Makefile clean:
echo "" >> $2/Makefile rm \$(OBJS) \$(LIBRARY)
EOF
# Generate 'Class1' header file # Generate 'Class1' header file
echo "#pragma once" >> $2/Class1.h echo > $2/Class1.h <<-EOF
echo "" >> $2/Class1.h #pragma once
echo "namespace $3 {" >> $2/Class1.h
echo "" >> $2/Class1.h namespace $3 {
echo "class Class1 {" >> $2/Class1.h
echo "public:" >> $2/Class1.h class Class1 {
echo " void hello();" >> $2/Class1.h public:
echo "};" >> $2/Class1.h void hello();
echo "" >> $2/Class1.h };
echo "}" >> $2/Class1.h
echo "" >> $2/Class1.h }
EOF
# Generate 'Class1' source file # Generate 'Class1' source file
echo "#include \"Class1.h\"" >> $2/Class1.cpp echo > $2/Class1.cpp <<-EOF
echo "#include <stdio.h>" >> $2/Class1.cpp #include "Class1.h"
echo "" >> $2/Class1.cpp #include <stdio.h>
echo "namespace $3 {" >> $2/Class1.cpp
echo "" >> $2/Class1.cpp namespace $3 {
echo "void Class1::hello()" >> $2/Class1.cpp
echo "{" >> $2/Class1.cpp void Class1::hello()
echo " printf(\"Hello friends! :^)\\n\");" >> $2/Class1.cpp {
echo "}" >> $2/Class1.cpp printf("Hello friends! :^)\\n");
echo "" >> $2/Class1.cpp }
echo "}" >> $2/Class1.cpp
echo "" >> $2/Class1.cpp }
EOF