# Ultra-flat Makefile "prototype" for non-Unix platforms.
# Does NOT depend on or use configure.
#
# Works for simple build but *not* for development (no clean, dist, etc).
# Also, WARNING, no header dependencies are included!
#
# NOTE: Needs a valid config.h for the platform being compiled on.
#
# This file should be customized to particular platforms by changing CC and
#  CFLAGS appropriately, along with writing a config.h and _stdint.h for the
#  platform and placing them in a subdirectory of Mkfiles.

CFLAGS=-DHAVE_CONFIG_H -IMkfiles -I.
CC?=gcc
BUILDCC?=$(CC)

all: yasm ytasm vsyasm

LIBYASM_OBJS= \
 libyasm/assocdat.o \
 libyasm/bitvect.o \
 libyasm/bc-align.o \
 libyasm/bc-data.o \
 libyasm/bc-incbin.o \
 libyasm/bc-org.o \
 libyasm/bc-reserve.o \
 libyasm/bytecode.o \
 libyasm/errwarn.o \
 libyasm/expr.o \
 libyasm/file.o \
 libyasm/floatnum.o \
 libyasm/hamt.o \
 libyasm/insn.o \
 libyasm/intnum.o \
 libyasm/inttree.o \
 libyasm/linemap.o \
 libyasm/md5.o \
 libyasm/mergesort.o \
 libyasm/phash.o \
 libyasm/section.o \
 libyasm/strcasecmp.o \
 libyasm/strsep.o \
 libyasm/symrec.o \
 libyasm/valparam.o \
 libyasm/value.o \
 libyasm/xmalloc.o \
 libyasm/xstrdup.o \
 module.o

MODULES_ARCH_X86_OBJS= \
 modules/arch/x86/x86arch.o \
 modules/arch/x86/x86bc.o \
 modules/arch/x86/x86expr.o \
 modules/arch/x86/x86id.o \
 x86cpu.o \
 x86regtmod.o
YASM_MODULES=arch_x86

MODULES_ARCH_LC3B_OBJS= \
 modules/arch/lc3b/lc3barch.o \
 modules/arch/lc3b/lc3bbc.o \
 lc3bid.o
YASM_MODULES+=arch_lc3b

MODULES_ARCH_OBJS= \
 $(MODULES_ARCH_X86_OBJS) \
 $(MODULES_ARCH_LC3B_OBJS)

MODULES_DBGFMTS_OBJS= \
 modules/dbgfmts/null/null-dbgfmt.o \
 modules/dbgfmts/stabs/stabs-dbgfmt.o \
 modules/dbgfmts/codeview/cv-dbgfmt.o \
 modules/dbgfmts/codeview/cv-symline.o \
 modules/dbgfmts/codeview/cv-type.o \
 modules/dbgfmts/dwarf2/dwarf2-dbgfmt.o \
 modules/dbgfmts/dwarf2/dwarf2-line.o \
 modules/dbgfmts/dwarf2/dwarf2-info.o \
 modules/dbgfmts/dwarf2/dwarf2-aranges.o
YASM_MODULES+=dbgfmt_null
YASM_MODULES+=dbgfmt_stabs
YASM_MODULES+=dbgfmt_cv8
YASM_MODULES+=dbgfmt_dwarf2

MODULES_LISTFMTS_OBJS= \
 modules/listfmts/nasm/nasm-listfmt.o
YASM_MODULES+=listfmt_nasm

MODULES_OBJFMTS_OBJS= \
 modules/objfmts/dbg/dbg-objfmt.o \
 modules/objfmts/bin/bin-objfmt.o \
 modules/objfmts/coff/coff-objfmt.o \
 modules/objfmts/coff/win64-except.o \
 modules/objfmts/elf/elf.o \
 modules/objfmts/elf/elf-x86-x86.o \
 modules/objfmts/elf/elf-x86-amd64.o \
 modules/objfmts/elf/elf-objfmt.o \
 modules/objfmts/macho/macho-objfmt.o \
 modules/objfmts/rdf/rdf-objfmt.o \
 modules/objfmts/xdf/xdf-objfmt.o
YASM_MODULES+=objfmt_dbg
YASM_MODULES+=objfmt_bin objfmt_dosexe
YASM_MODULES+=objfmt_coff objfmt_win32 objfmt_win64 objfmt_x64
YASM_MODULES+=objfmt_elf objfmt_elf32 objfmt_elf64 objfmt_elfx32
YASM_MODULES+=objfmt_macho objfmt_macho32 objfmt_macho64
YASM_MODULES+=objfmt_rdf
YASM_MODULES+=objfmt_xdf

MODULES_PARSERS_OBJS= \
 modules/parsers/nasm/nasm-parser.o \
 modules/parsers/nasm/nasm-parse.o \
 nasm-token.o \
 modules/parsers/gas/gas-parser.o \
 modules/parsers/gas/gas-parse-intel.o \
 modules/parsers/gas/gas-parse.o \
 gas-token.o
YASM_MODULES+=parser_nasm parser_tasm
YASM_MODULES+=parser_gas parser_gnu

MODULES_PREPROCS_NASM_OBJS= \
 modules/preprocs/nasm/nasm-eval.o \
 modules/preprocs/nasm/nasm-pp.o \
 modules/preprocs/nasm/nasm-preproc.o \
 modules/preprocs/nasm/nasmlib.o
YASM_MODULES+=preproc_nasm preproc_tasm

MODULES_PREPROCS_RAW_OBJS = \
 modules/preprocs/raw/raw-preproc.o
YASM_MODULES+=preproc_raw

MODULES_PREPROCS_CPP_OBJS = \
 modules/preprocs/cpp/cpp-preproc.o
YASM_MODULES+=preproc_cpp

MODULES_PREPROCS_GAS_OBJS = \
 modules/preprocs/gas/gas-eval.o \
 modules/preprocs/gas/gas-preproc.o
YASM_MODULES+=preproc_gas

MODULES_PREPROCS_OBJS = \
 $(MODULES_PREPROCS_NASM_OBJS) \
 $(MODULES_PREPROCS_RAW_OBJS) \
 $(MODULES_PREPROCS_CPP_OBJS) \
 $(MODULES_PREPROCS_GAS_OBJS)

MODULES_OBJS = \
 $(MODULES_ARCH_OBJS) \
 $(MODULES_DBGFMTS_OBJS) \
 $(MODULES_LISTFMTS_OBJS) \
 $(MODULES_OBJFMTS_OBJS) \
 $(MODULES_OPTIMIZERS_OBJS) \
 $(MODULES_PARSERS_OBJS) \
 $(MODULES_PREPROCS_OBJS)

YASM_OBJS= \
 frontends/yasm/yasm.o \
 frontends/yasm/yasm-options.o \
 $(LIBYASM_OBJS) \
 $(MODULES_OBJS)

YTASM_OBJS= \
 frontends/tasm/tasm.o \
 frontends/tasm/tasm-options.o \
 $(LIBYASM_OBJS) \
 $(MODULES_OBJS)

VSYASM_OBJS= \
 frontends/vsyasm/vsyasm.o \
 frontends/yasm/yasm-options.o \
 $(LIBYASM_OBJS) \
 $(MODULES_OBJS)

genstring: genstring.c
	$(BUILDCC) -o $@ $<

license.c: COPYING genstring
	./genstring license_msg $@ COPYING

frontends/yasm/yasm.c: license.c

genmacro: tools/genmacro/genmacro.c
	$(BUILDCC) -o $@ $<

nasm-version.c: version.mac genmacro
	./genmacro $@ nasm_version_mac version.mac

modules/preprocs/nasm/nasm-pp.c: nasm-version.c

nasm-macros.c: modules/parsers/nasm/nasm-std.mac genmacro
	./genmacro $@ nasm_standard_mac modules/parsers/nasm/nasm-std.mac

modules/parsers/nasm/nasm-parser.c: nasm-macros.c

win64-nasm.c: modules/objfmts/coff/win64-nasm.mac genmacro
	./genmacro $@ win64_nasm_stdmac modules/objfmts/coff/win64-nasm.mac
win64-gas.c: modules/objfmts/coff/win64-gas.mac genmacro
	./genmacro $@ win64_gas_stdmac modules/objfmts/coff/win64-gas.mac

modules/objfmts/coff/coff-objfmt.c: win64-nasm.c win64-gas.c

genversion: modules/preprocs/nasm/genversion.c YASM-VERSION.h
	$(BUILDCC) -IMkfiles -I. -o $@ $<

version.mac: genversion
	./genversion $@

genmodule: libyasm/genmodule.c
	$(BUILDCC) -o $@ $<

module.c: libyasm/module.in genmodule
	./genmodule libyasm/module.in Mkfiles/Makefile.flat

x86insn_nasm.gperf x86insn_gas.gperf x86insns.c: modules/arch/x86/gen_x86_insn.py
	# ignore error in case python is not installed
	-python modules/arch/x86/gen_x86_insn.py

x86insn_nasm.c: x86insn_nasm.gperf genperf
	./genperf x86insn_nasm.gperf $@

x86insn_gas.c: x86insn_gas.gperf genperf
	./genperf x86insn_gas.gperf $@

x86cpu.c: modules/arch/x86/x86cpu.gperf genperf
	./genperf modules/arch/x86/x86cpu.gperf $@

x86regtmod.c: modules/arch/x86/x86regtmod.gperf genperf
	./genperf modules/arch/x86/x86regtmod.gperf $@

modules/arch/x86/x86id.c: x86insn_nasm.c x86insn_gas.c x86insns.c

lc3bid.c: modules/arch/lc3b/lc3bid.re re2c
	./re2c -s -o $@ modules/arch/lc3b/lc3bid.re

gas-token.c: modules/parsers/gas/gas-token.re re2c
	./re2c -b -o $@ modules/parsers/gas/gas-token.re

nasm-token.c: modules/parsers/nasm/nasm-token.re re2c
	./re2c -b -o $@ modules/parsers/nasm/nasm-token.re

RE2C_SRCS= \
	tools/re2c/main.c \
	tools/re2c/code.c \
	tools/re2c/dfa.c \
	tools/re2c/parser.c \
	tools/re2c/actions.c \
	tools/re2c/scanner.c \
	tools/re2c/mbo_getopt.c \
	tools/re2c/substr.c \
	tools/re2c/translate.c

re2c: $(RE2C_SRCS)
	$(BUILDCC) -I. -o re2c $(RE2C_SRCS)

GENPERF_SRCS= \
	tools/genperf/genperf.c \
	tools/genperf/perfect.c \
	libyasm/phash.c \
	libyasm/xmalloc.c \
	libyasm/xstrdup.c

genperf: $(GENPERF_SRCS)
	$(BUILDCC) -I. -o genperf $(GENPERF_SRCS)

yasm: $(YASM_OBJS)
	$(CC) -o yasm $(YASM_OBJS)

ytasm: $(YTASM_OBJS)
	$(CC) -o ytasm $(YTASM_OBJS)

vsyasm: $(VSYASM_OBJS)
	$(CC) -o vsyasm $(VSYASM_OBJS)

.c.o:
	$(CC) -c $(CFLAGS) -o $@ $<

$(YASM_OBJS) $(YTASM_OBJS) $(VSYASM_OBJS): YASM-VERSION.h

YASM-VERSION.h: YASM-VERSION-GEN.sh
	sh YASM-VERSION-GEN.sh

