39 lines
873 B
Makefile
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
|