quakeforge/tools/qfcc/source/Makemodule.am
Bill Currie b668759b7d [qfcc] Add a very basic attribute system
Ruamoko passes va_list (@args) through the ... parameter (as such), but
IMP uses ... to defeat parameter type and count checking and doesn't
want va_list. While possibly not the best solution, adding a no_va_list
flag to function types and skipping ex_args entirely does take care of
the problem without hard-coding anything specific to IMP.

The system currently just sets some bits in the type specifier (the
attribute list should probably be carried around with the specifier),
but it gets the job done for now, and at least gets things started.
2022-02-02 23:51:37 +09:00

94 lines
2.8 KiB
Text

QFCC_LIBS=@QFCC_LIBS@
QFCC_DEPS=@QFCC_DEPS@
QFCC_INCS=@QFCC_INCS@
EXTRA_PROGRAMS += qfcc$(EXEEXT) qfprogs$(EXEEXT)
bin_PROGRAMS += @QFCC_TARGETS@
bin_SCRIPTS += tools/qfcc/source/qfpreqcc
qfcc_SOURCES = \
tools/qfcc/source/attribute.c \
tools/qfcc/source/class.c \
tools/qfcc/source/codespace.c \
tools/qfcc/source/constfold.c \
tools/qfcc/source/cpp.c \
tools/qfcc/source/dags.c \
tools/qfcc/source/debug.c \
tools/qfcc/source/def.c \
tools/qfcc/source/defspace.c \
tools/qfcc/source/diagnostic.c \
tools/qfcc/source/dot.c \
tools/qfcc/source/dot_dag.c \
tools/qfcc/source/dot_expr.c \
tools/qfcc/source/dot_flow.c \
tools/qfcc/source/dot_sblock.c \
tools/qfcc/source/dot_type.c \
tools/qfcc/source/emit.c \
tools/qfcc/source/expr.c \
tools/qfcc/source/expr_assign.c \
tools/qfcc/source/expr_binary.c \
tools/qfcc/source/expr_bool.c \
tools/qfcc/source/expr_compound.c \
tools/qfcc/source/expr_obj.c \
tools/qfcc/source/flow.c \
tools/qfcc/source/function.c \
tools/qfcc/source/grab.c \
tools/qfcc/source/idstuff.c \
tools/qfcc/source/linker.c \
tools/qfcc/source/method.c \
tools/qfcc/source/obj_file.c \
tools/qfcc/source/obj_type.c \
tools/qfcc/source/opcodes.c \
tools/qfcc/source/options.c \
tools/qfcc/source/pragma.c \
tools/qfcc/source/qc-lex.l \
tools/qfcc/source/qc-parse.y \
tools/qfcc/source/qfcc.c \
tools/qfcc/source/qp-lex.l \
tools/qfcc/source/qp-parse.y \
tools/qfcc/source/reloc.c \
tools/qfcc/source/shared.c \
tools/qfcc/source/statements.c \
tools/qfcc/source/strpool.c \
tools/qfcc/source/struct.c \
tools/qfcc/source/switch.c \
tools/qfcc/source/symtab.c \
tools/qfcc/source/type.c \
tools/qfcc/source/value.c
qfcc_LDADD= $(QFCC_LIBS)
qfcc_DEPENDENCIES= $(QFCC_DEPS)
qfprogs_SOURCES= \
tools/qfcc/source/disassemble.c \
tools/qfcc/source/dump_globals.c \
tools/qfcc/source/dump_lines.c \
tools/qfcc/source/dump_modules.c \
tools/qfcc/source/dump_strings.c \
tools/qfcc/source/obj_file.c \
tools/qfcc/source/qfprogs.c \
tools/qfcc/source/strpool.c \
tools/qfcc/source/stub.c \
tools/qfcc/source/type.c
qfprogs_LDADD= $(QFCC_LIBS)
qfprogs_DEPENDENCIES= $(QFCC_DEPS)
BUILT_SOURCES += \
tools/qfcc/source/qc-parse.c \
tools/qfcc/source/qc-parse.h \
tools/qfcc/source/qc-lex.c \
tools/qfcc/source/qp-parse.c \
tools/qfcc/source/qp-parse.h \
tools/qfcc/source/qp-lex.c
tools/qfcc/source/qc-parse.c: tools/qfcc/source/qc-parse.y
$(AM_V_YACC)$(YACCCOMPILE) -Dapi.prefix={qc_yy} $< -o $@
tools/qfcc/source/qc-lex.c: tools/qfcc/source/qc-lex.l tools/qfcc/source/qc-parse.h
$(AM_V_LEX)$(LEXCOMPILE) -Pqc_yy -o$@ $<
tools/qfcc/source/qp-parse.c: tools/qfcc/source/qp-parse.y
$(AM_V_YACC)$(YACCCOMPILE) -Dapi.prefix={qp_yy} $< -o $@
tools/qfcc/source/qp-lex.c: tools/qfcc/source/qp-lex.l tools/qfcc/source/qp-parse.h
$(AM_V_LEX)$(LEXCOMPILE) -Pqp_yy -o$@ $<
EXTRA_DIST += \
tools/qfcc/source/qfpreqcc