BizHawk/waterbox/libco/Makefile

46 lines
974 B
Makefile

CC = x86_64-nt64-midipix-gcc
AS = nasm
CCFLAGS:= -Wall -O3 -std=c99
ASFLAGS:= -f elf64
TARGET = libco.so
LDFLAGS = -shared
ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
SRCS:=$(shell find $(ROOT_DIR) -type f -name '*.c')
ASRCS:=$(shell find $(ROOT_DIR) -type f -name '*.s')
OBJ_DIR:=$(ROOT_DIR)/obj
_OBJS:=$(SRCS:.c=.c.o)
OBJS:=$(patsubst $(ROOT_DIR)%,$(OBJ_DIR)%,$(_OBJS))
_AOBJS:=$(ASRCS:.s=.s.o)
AOBJS:=$(patsubst $(ROOT_DIR)%,$(OBJ_DIR)%,$(_AOBJS))
$(OBJ_DIR)/%.c.o: %.c
@mkdir -p $(@D)
@$(CC) -c -o $@ $< $(CCFLAGS)
$(OBJ_DIR)/%.s.o: %.s
@mkdir -p $(@D)
@$(AS) $(ASFLAGS) -o $@ $<
all: $(TARGET)
.PHONY: clean all
$(TARGET): $(OBJS) $(AOBJS)
@$(CC) -o $@ $(LDFLAGS) $(CCFLAGS) $(OBJS) $(AOBJS)
@mv $(TARGET) $(TARGET).in
@strip $(TARGET).in -o $(TARGET) -R /4 -R /14 -R /29 -R /41 -R /55 -R /67 -R /78 -R /89 -R /104
clean:
@rm -rf $(OBJ_DIR)
@rm -f $(TARGET).in
@rm -f $(TARGET)
#install:
# $(CP) $(TARGET) $(DEST_$(ARCH))