# ------------------------------------------------------------------------- # Set up our environment for both windows and non-windows # ------------------------------------------------------------------------- ifeq "${OS}" "Windows_NT" CC := cl LINK := link EXTRA := LFLAGS := LIBS := CPPFLAGS := /c /W4 /EHsc /std:c++17 OBJ := obj OUT1 := OUT2 := /out: DEL := del /f EXE := .exe else CC := g++ LINK := ${CC} # EXTRA := -fsanitize=address -g EXTRA := LFLAGS := ${EXTRA} LIBS := -lstdc++fs WFLAGS := -Wall -Wextra -Weffc++ -Werror -Wsign-conversion CPPFLAGS := -c -g ${WFLAGS} -std=c++17 ${EXTRA} OBJ := o OUT1 := -o OUT2 := DEL := rm -f EXE := endif OBJECTS := duff.${OBJ} duff${EXE}: ${OBJECTS} ${LINK} ${LFLAGS} ${OUT1} ${OUT2}duff${EXE} ${OBJECTS} ${LIBS} duff.${OBJ}: fs.h types.h duff.cpp ${CC} ${CPPFLAGS} duff.cpp edit: vi duff.cpp clean: ${DEL} *.obj *.o duff duff.exe