rosgb/Makefile
2024-05-17 22:13:30 -05:00

39 lines
873 B
Makefile

# General
#CC= /usr/lib/mingw64-toolchain/bin/x86_64-w64-mingw32-gcc
CFLAGS= -Wfatal-errors -Wall -Wextra
LDFLAGS= -s
NASMFLAGS=
OBJS= main.o tigr/tigr.o cpu.o ppu.o gb.o
# Tigr
CFLAGS += -I ./tigr/
ifeq ($(OS),Windows_NT)
LDFLAGS += -luser32 -lshell32 -ladvapi32 -ld3d9 -lopengl32 -lgdi32
NASMFLAGS= -fwin64
else
UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
LDFLAGS += -framework OpenGL -framework Cocoa
NASMFLAGS= -fmacho64
else ifeq ($(UNAME_S),Linux)
LDFLAGS += -s -lGLU -lGL -lX11
NASMFLAGS= -felf64
endif
endif
# Targets
all: rosgb
rosgb: $(OBJS)
$(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS)
%.o: %.c %.h
$(CC) -c $< -o $@ $(CFLAGS) $(LDFLAGS)
%.o: %.c
$(CC) -c $^ -o $@ $(CFLAGS) $(LDFLAGS)
%.o: %.asm
nasm $(NASMFLAGS) $^ -o $@
tigr/tigr.o: tigr/tigr.c tigr/tigr.h
$(CC) -c $< -o $@
clean:
$(RM) *.o $(OBJS) rosgb rosgb.exe