UNAME = ${shell uname} ifeq (${UNAME},Linux) CC ?= /usr/bin/gcc else ifeq (${UNAME},Darwin) SDKROOT_macosx ?= ${shell xcrun --show-sdk-path} MACOSX_VERSION_MIN ?= 10.6 CC = ${shell xcrun --sdk ${SDKROOT_macosx} --find cc} -isysroot ${SDKROOT_macosx} -mmacosx-version-min=${MACOSX_VERSION_MIN} else CC = C:/MinGW/bin/gcc.exe EXE_SUFFIX = .exe endif PROJECT_NAME = assemble6502 EXECUTABLE_NAME = ${PROJECT_NAME}${EXE_SUFFIX} CFLAGS = -std=gnu99 -g WFLAGS = -Wall -Wextra -Wno-unused-parameter -Werror IFLAGS = -I source all: ${EXECUTABLE_NAME} clean: rm -f main.o assembler.o HashTable.o lookup3.o ${EXECUTABLE_NAME} ${EXECUTABLE_NAME}: main.o assembler.o HashTable.o lookup3.o ${CC} -o $@ $^ assembler.o: source/${PROJECT_NAME}/assembler.c source/${PROJECT_NAME}/assembler.h source/${PROJECT_NAME}/mnemonic_list.h ${CC} ${CFLAGS} ${IFLAGS} ${WFLAGS} -c -o $@ $< HashTable.o: source/${PROJECT_NAME}/HashTable.c source/${PROJECT_NAME}/HashTable.h source/${PROJECT_NAME}/lookup3.h ${CC} ${CFLAGS} ${IFLAGS} ${WFLAGS} -c -o $@ $< lookup3.o: source/${PROJECT_NAME}/lookup3.c source/${PROJECT_NAME}/lookup3.h ${CC} ${CFLAGS} ${IFLAGS} ${WFLAGS} -Wno-implicit-fallthrough -c -o $@ $< main.o: source/${PROJECT_NAME}/main.c source/${PROJECT_NAME}/assembler.h ${CC} ${CFLAGS} ${IFLAGS} ${WFLAGS} -c -o $@ $< .PHONY: all .PHONY: clean