Yab2Cpp/Makefile
2021-05-04 12:15:49 -05:00

58 lines
1.8 KiB
Makefile

CC := g++
CFLAGS := -Wall
CFLAGS += -std=c++11
#CFLAGS += -fno-rtti
#CFLAGS += -fno-exceptions
#CFLAGS += -Os
LFLAGS :=
ODIR := build
RDIR := output
YABCODESTRUCTURES_SOURCE_DEPS := yabCodeStructures.cpp yab2cpp.h yab2cpp.cpp tester.cpp runtime/runtime.h
YAB2CPP_SOURCE_DEPS := yab2cpp.cpp yab2cpp.h tester.cpp
YABDATASTRUCTURES_SOURCE_DEPS := yabDataStructures.cpp yab2cpp.h yab2cpp.cpp tester.cpp
YABFUNCTIONS_SOURCE_DEPS := yabFunctions.cpp yab2cpp.h yab2cpp.cpp tester.cpp
YABIO_SOURCE_DEPS := yab2cpp.h yab2cpp.cpp tester.cpp
all: binaries
$(ODIR):
@mkdir $(ODIR)
$(RDIR):
@mkdir $(RDIR)
binaries: bin_yab2cpp bin_tester
YAB2CPP_OBJECT_DEPS := $(ODIR)/yabCodeStructures.o $(ODIR)/yabFunctions.o $(ODIR)/yabDataStructures.o $(ODIR)/yabIO.o $(ODIR)/yab2cpp.o
TESTER_OBJECT_DEPS := $(ODIR)/yabCodeStructures.o $(ODIR)/yabFunctions.o $(ODIR)/yabDataStructures.o $(ODIR)/yabIO.o $(ODIR)/tester.o
bin_tester: $(RDIR) $(ODIR) $(TESTER_OBJECT_DEPS)
$(CC) -o tester $(TESTER_OBJECT_DEPS) $(LFLAGS)
bin_yab2cpp: $(RDIR) $(ODIR) $(YAB2CPP_OBJECT_DEPS)
$(CC) -o yab2cpp $(YAB2CPP_OBJECT_DEPS) $(LFLAGS)
$(ODIR)/yabCodeStructures.o: $(ODIR) $(YABCODESTRUCTURES_SOURCE_DEPS)
$(CC) -c $(CFLAGS) yabCodeStructures.cpp -o $(ODIR)/yabCodeStructures.o
$(ODIR)/tester.o: $(ODIR) $(YAB2CPP_SOURCE_DEPS)
$(CC) -c $(CFLAGS) tester.cpp -o $(ODIR)/tester.o
$(ODIR)/yab2cpp.o: $(ODIR) $(YAB2CPP_SOURCE_DEPS)
$(CC) -c $(CFLAGS) yab2cpp.cpp -o $(ODIR)/yab2cpp.o
$(ODIR)/yabIO.o: $(ODIR) $(YABIO_SOURCE_DEPS)
$(CC) -c $(CFLAGS) yabIO.cpp -o $(ODIR)/yabIO.o
$(ODIR)/yabDataStructures.o: $(ODIR) $(YABDATASTRUCTURES_SOURCE_DEPS)
$(CC) -c $(CFLAGS) yabDataStructures.cpp -o $(ODIR)/yabDataStructures.o
$(ODIR)/yabFunctions.o: $(ODIR) $(YABFUNCTIONS_SOURCE_DEPS)
$(CC) -c $(CFLAGS) yabFunctions.cpp -o $(ODIR)/yabFunctions.o
.PHONY: clean
clean:
rm -rf build/* output/* yab2cpp tester