feat: adjust makefile

This commit is contained in:
dancingCycle 2023-01-03 07:53:17 +01:00
parent fff3fb8c3e
commit 70493421e9
1 changed files with 32 additions and 11 deletions

View File

@ -1,12 +1,33 @@
#put the most commonly desired target first (default)
all: main.o write-location-file.o
gcc main.o write-location-file.o -o write
main.o: main.c write-location-file.h
gcc -I . -c main.c
write-location-file.o: write-location-file.c write-location-file.h
gcc -I . -c write-location-file.c
# Source, Executable, Includes, Library Defines
INCL = write-location-file.h
SRC = main.c write-location-file.c
OBJ = $(SRC:.c=.o)
LIBS =
EXE = write
# Compiler, Linker Defines
CC = /usr/bin/gcc
CFLAGS = -ansi -pedantic -Wall -O2
LIBPATH = -L.
LDFLAGS = -o $(EXE) $(LIBPATH) $(LIBS)
CFDEBUG = -ansi -pedantic -Wall -g -DDEBUG $(LDFLAGS)
RM = /bin/rm -f
# Compile and Assemble C Source Files into Object Files
%.o: %.c
$(CC) -c $(CFLAGS) $*.c
# Link all Object Files with external Libraries into Binaries
$(EXE): $(OBJ)
$(CC) $(LDFLAGS) $(OBJ)
# Objects depend on these Libraries
$(OBJ): $(INCL)
# Create a gdb/dbx Capable Executable with DEBUG flags turned on
debug:
$(CC) $(CFDEBUG) $(SRC)
# Clean Up Objects, Exectuables, Dumps out of source directory
clean:
rm -rf *.o
rm -rf write
rm -rf *.csv
rm -rf a.out
$(RM) $(OBJ) $(EXE) core a.out *.csv