CFLAGS ?= --std=c99 -Wall -O0 -g -DFEATURE_MUL CXXFLAGS ?= --std=c++11 -Wall -O0 -g -DFEATURE_MUL CROSS_AS ?= ./ulnav2a-as CROSS_ASFLAGS ?= -g FLEX ?= flex BISON ?= bison bin_PROGRAMS = ulnav2a-as ulnav2a-emu C_SOURCES = \ ulnav2a-as.c ulnav2a-as.h CXX_SOURCES = \ ulnav2a-emu.c OBJS = \ ulnav2a-as.o ulnav2a-parser.o ulnav2a-lexer.o \ ulnav2a-emu.o GENFILES = ulnav2a-parser.c ulnav2a-parser.h ulnav2a-lexer.c all: $(bin_PROGRAMS) $(ulna_DATA) ulnav2a-as: ulnav2a-as.o ulnav2a-parser.o ulnav2a-lexer.o $(CC) -o $@ $^ $(LDFLAGS) ulnav2a-emu: ulnav2a-emu.o $(CXX) -o $@ $^ $(LDFLAGS) -lreadline %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< %.o: %.cpp $(CXX) $(CXXFLAGS) -c -o $@ $< %.c: %.y $(BISON) -d -o $@ $< %.c: %.l $(FLEX) -i -o $@ $< %.img: %.S $(CROSS_AS) $(CROSS_AS) $(CROSS_ASFLAGS) $< $@ indent: for f in $(C_SOURCES); do indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1 -il0 $$f; done clean: -rm -f $(bin_PROGRAMS) $(ulna_DATA) $(OBJS) $(GENFILES) .PHONY: indent clean .SECONDARY: $(GENFILES)