stuff
This commit is contained in:
parent
fcc88de8d3
commit
ece62938a9
7 changed files with 36 additions and 7 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,4 +1,5 @@
|
|||
/pmake*
|
||||
*.o
|
||||
/src/compiler/*.c
|
||||
/src/action/*.c
|
||||
/src/js/*.c
|
||||
|
|
|
|||
23
GNUmakefile
23
GNUmakefile
|
|
@ -30,16 +30,18 @@ CFLAGS += -Iexternal/duktape -Iexternal/stb
|
|||
OBJS = src/main.o src/js.o
|
||||
OBJS += external/duktape/duktape.o external/stb/stb_ds.o
|
||||
|
||||
NAME = rev | cut -d/ -f1 | rev | cut -d. -f1
|
||||
|
||||
.PHONY: all clean mk maint
|
||||
.SUFFIXES: .c .o
|
||||
|
||||
all: pmake$(EXE)
|
||||
|
||||
include mk/compiler.mk
|
||||
include mk/js.mk
|
||||
|
||||
mk/compiler.mk:
|
||||
find src/js src/compiler -name "*.js" | while read js; do \
|
||||
name="`echo $$js | cut -d/ -f2`_`echo $$js | rev | cut -d/ -f1 | rev | cut -d. -f1`" ; \
|
||||
mk/js.mk:
|
||||
find src/js src/action src/compiler -name "*.js" | while read js; do \
|
||||
name="`echo $$js | cut -d/ -f2`_`echo $$js | $(NAME)`" ; \
|
||||
c="`echo $$js | sed 's/\.js$$/.c/'`" ; \
|
||||
o="`echo $$js | sed 's/\.js$$/.o/'`" ; \
|
||||
echo "OBJS += $$o" ; \
|
||||
|
|
@ -48,7 +50,7 @@ mk/compiler.mk:
|
|||
echo "" ; \
|
||||
done > $@
|
||||
|
||||
mk: mk/compiler.mk
|
||||
mk: mk/js.mk
|
||||
|
||||
maint:
|
||||
rm -f mk/*.mk
|
||||
|
|
@ -62,9 +64,18 @@ src/config.h:
|
|||
echo "" >> $@
|
||||
echo "#define COMPILERS \\" >> $@
|
||||
find src/compiler -name "*.js" | while read js; do \
|
||||
echo " X(`echo $$js | rev | cut -d/ -f1 | rev | cut -d. -f1`) \\" ; \
|
||||
echo " X(`echo $$js | $(NAME)`) \\" ; \
|
||||
done >> $@
|
||||
echo "" >> $@
|
||||
echo "#define ACTIONS \\" >> $@
|
||||
find src/action -name "*.js" | while read js; do \
|
||||
echo " X(`echo $$js | $(NAME)`) \\" ; \
|
||||
done >> $@
|
||||
echo "" >> $@
|
||||
echo "#define JS \\" >> $@
|
||||
echo " COMPILERS \\" >> $@
|
||||
echo " ACTIONS" >> $@
|
||||
echo "" >> $@
|
||||
echo "#endif" >> $@
|
||||
|
||||
pmake$(EXE): $(OBJS)
|
||||
|
|
|
|||
4
mk/compiler.mk → mk/js.mk
generated
4
mk/compiler.mk → mk/js.mk
generated
|
|
@ -6,6 +6,10 @@ OBJS += src/js/cmdline.o
|
|||
src/js/cmdline.c: src/js/cmdline.js
|
||||
xxd -njs_cmdline -i src/js/cmdline.js > src/js/cmdline.c
|
||||
|
||||
OBJS += src/action/gmake.o
|
||||
src/action/gmake.c: src/action/gmake.js
|
||||
xxd -naction_gmake -i src/action/gmake.js > src/action/gmake.c
|
||||
|
||||
OBJS += src/compiler/watcom.o
|
||||
src/compiler/watcom.c: src/compiler/watcom.js
|
||||
xxd -ncompiler_watcom -i src/compiler/watcom.js > src/compiler/watcom.c
|
||||
0
src/action/gmake.js
Normal file
0
src/action/gmake.js
Normal file
7
src/config.h
generated
7
src/config.h
generated
|
|
@ -5,4 +5,11 @@
|
|||
X(watcom) \
|
||||
X(gcc) \
|
||||
|
||||
#define ACTIONS \
|
||||
X(gmake) \
|
||||
|
||||
#define JS \
|
||||
COMPILERS \
|
||||
ACTIONS
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,5 +9,11 @@ for(var i = 1; i < ARGV.length; i++){
|
|||
console.log("");
|
||||
console.log("Usage: " + ARGV[0] + " [options] action [arguments]");
|
||||
process.exit(0);
|
||||
}else if(ARGV[i].startsWith("--")){
|
||||
console.log("Error: invalid option '" + ARGV[i].substr(2) + "'");
|
||||
process.exit(1);
|
||||
}else{
|
||||
console.log("Error: no such action '" + ARGV[i] + "'");
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
extern unsigned int name ## _len;
|
||||
|
||||
#define X(name) LOAD(compiler_ ## name)
|
||||
COMPILERS;
|
||||
JS;
|
||||
#undef X
|
||||
|
||||
/* js.c */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue