mirror of
https://github.com/devinacker/bsnes-plus.git
synced 2025-04-02 10:52:46 -04:00
102 lines
2.3 KiB
Makefile
102 lines
2.3 KiB
Makefile
common := ../common
|
|
nall := $(common)/nall
|
|
zlib := $(common)/zlib
|
|
include $(nall)/Makefile
|
|
|
|
c := $(compiler) -x c -std=gnu99
|
|
cpp := $(compiler) -std=gnu++0x
|
|
flags := -I. -I$(common)
|
|
link :=
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
flags += -O0 -g
|
|
else
|
|
flags += -O3 -fomit-frame-pointer
|
|
endif
|
|
|
|
# silence warnings
|
|
flags += -Wno-switch -Wno-absolute-value -Wno-parentheses
|
|
|
|
ifeq ($(platform),x)
|
|
flags := -fPIC $(flags)
|
|
link += -s
|
|
else ifeq ($(platform),osx)
|
|
flags += -fPIC -march=native -mmacosx-version-min=10.10
|
|
link += -F/usr/local/lib -mmacosx-version-min=10.10
|
|
endif
|
|
|
|
objects := snesmusic
|
|
# bitmap_font
|
|
objects += bitmap_font
|
|
# zlib
|
|
objects += adler32 crc32 inffast inflate inftrees zutil
|
|
|
|
compile = \
|
|
$(strip \
|
|
$(if $(filter %.c,$<), \
|
|
$(c) $(flags) $1 -c $< -o $@, \
|
|
$(if $(filter %.cpp,$<), \
|
|
$(cpp) $(flags) $1 -c $< -o $@ \
|
|
) \
|
|
) \
|
|
)
|
|
|
|
%.o: $<; $(call compile)
|
|
|
|
all: build;
|
|
|
|
objects := $(patsubst %,obj/%.o,$(objects))
|
|
|
|
#################
|
|
### snesmusic ###
|
|
#################
|
|
|
|
obj/snesmusic.o: snesmusic.cpp *.cpp *.hpp
|
|
|
|
###################
|
|
### bitmap_font ###
|
|
###################
|
|
|
|
obj/bitmap_font.o: bitmap_font.cpp
|
|
|
|
############
|
|
### zlib ###
|
|
############
|
|
|
|
obj/adler32.o : $(zlib)/adler32.c $(zlib)/*
|
|
obj/crc32.o : $(zlib)/crc32.c $(zlib)/*
|
|
obj/inffast.o : $(zlib)/inffast.c $(zlib)/*
|
|
obj/inflate.o : $(zlib)/inflate.c $(zlib)/*
|
|
obj/inftrees.o: $(zlib)/inftrees.c $(zlib)/*
|
|
obj/zutil.o : $(zlib)/zutil.c $(zlib)/*
|
|
|
|
###############
|
|
### targets ###
|
|
###############
|
|
|
|
build: $(objects)
|
|
ifeq ($(platform),$(filter $(platform),win msys))
|
|
$(cpp) $(link) -o snesmusic.dll -shared -Wl,--out-implib,libsnesmusic.a $(objects) $(qtlib)
|
|
else ifeq ($(platform),osx)
|
|
ar rcs libsnesmusic.a $(objects)
|
|
$(cpp) $(link) -o libssnesmusic.dylib -shared -dynamiclib $(objects) $(qtlib)
|
|
else
|
|
ar rcs libsnesmusic.a $(objects)
|
|
$(cpp) $(link) -o libsnesmusic.so -shared -Wl,-soname,libsnesmusic.so.1 $(objects) $(qtlib)
|
|
endif
|
|
|
|
install:
|
|
ifeq ($(platform),x)
|
|
install -D -m 755 libsnesmusic.a $(DESTDIR)$(prefix)/lib
|
|
install -D -m 755 libsnesmusic.so $(DESTDIR)$(prefix)/lib
|
|
ldconfig -n $(DESTDIR)$(prefix)/lib
|
|
else
|
|
@echo Install not available for current platform
|
|
endif
|
|
|
|
clean:
|
|
-@$(call delete,obj/*.o)
|
|
-@$(call delete,libsnesmusic.a)
|
|
-@$(call delete,snesmusic.dll)
|
|
-@$(call delete,libsnesmusic.dylib)
|
|
-@$(call delete,libsnesmusic.so)
|