CC = gcc CFLAGS = -g -Wall ifeq ($(OS),Windows_NT) include makefile_windows.variables else UNAME = $(shell uname) ifeq ($(UNAME),Linux) include makefile_linux.variables else include makefile_mac.variables endif endif raylibfolder = ./raylib unityfolder = ./unity # -------------------------- # Initiales Programm bauen (zum ausprobieren) # -------------------------- mnist_initial: $(BINARIES)/libmnist_complete.a $(CC) -o mnist $(BINARIES)/libmnist_complete.a $(BINARIES)/libraylib.a ${LDFLAGS} # -------------------------- # Selbst implementiertes Programm bauen # -------------------------- mnist: main.o matrix.o neuralNetwork.o imageInput.o mnistVisualization.o $(BINARIES)/libraylib.a $(CC) $(CFLAGS) -I$(raylibfolder) -o mnist main.o matrix.o neuralNetwork.o imageInput.o mnistVisualization.o $(BINARIES)/libraylib.a ${LDFLAGS} main.o: main.c $(CC) -c $(CFLAGS) main.c matrix.o: matrix.c $(CC) -c $(CFLAGS) matrix.c neuralNetwork.o: neuralNetwork.c $(CC) -c $(CFLAGS) neuralNetwork.c imageInput.o: imageInput.c $(CC) -c $(CFLAGS) imageInput.c mnistVisualization.o: mnistVisualization.c $(CC) -c $(CFLAGS) -I$(raylibfolder) mnistVisualization.c # -------------------------- # Unit Tests # -------------------------- matrixTests: matrix.o matrixTests.c $(unityfolder)/unity.c $(CC) $(CFLAGS) -I$(unityfolder) -o runMatrixTests matrixTests.c matrix.o $(unityfolder)/unity.c neuralNetworkTests: neuralNetwork.o matrix.o neuralNetworkTests.c $(unityfolder)/unity.c $(CC) $(CFLAGS) -I$(unityfolder) -o runNeuralNetworkTests neuralNetworkTests.c matrix.o neuralNetwork.o $(unityfolder)/unity.c ${LDFLAGS} imageInputTests: imageInput.o imageInputTests.c $(unityfolder)/unity.c $(CC) $(CFLAGS) -I$(unityfolder) -o runImageInputTests imageInputTests.c imageInput.o $(unityfolder)/unity.c # -------------------------- # Clean # -------------------------- clean: ifeq ($(OS),Windows_NT) del /f *.o *.exe else rm -f *.o mnist runMatrixTests runNeuralNetworkTests runImageInputTests endif