diff --git a/makefile b/makefile index d3a56f7..ac588bb 100755 --- a/makefile +++ b/makefile @@ -1,11 +1,30 @@ -libMikuDuino.so : MikuPi.cpp MikuDuino.cpp MikuRelay.cpp MikuSHT2x.cpp Wire.cpp MikuOled.cpp - @gcc $^ -fPIC -shared -o $@ - @install $@ /usr/lib/ - @install *.h /usr/include/ - @install fonts/mikupi.font /usr/share/fonts - @rm -f *.so - @echo 'install OK!' -.PHONY : clean -clean : - @rm -f *.so - @echo 'clean' \ No newline at end of file +CC := gcc +LD := ld +CFLAGS := +LDFLAGS := -shared -fpic +SOURCE := MikuPi.cpp MikuDuino.cpp MikuRelay.cpp MikuSHT2x.cpp Wire.cpp MikuOled.cpp +HEADER := $(wildcard *.h) +OBJS := $(patsubst %.cpp,%.o,$(SOURCE)) +TARGET_LIB := libMikuDuino.so +FONT := fonts/mikupi.font +INSTALL_LIB := /usr/lib +INSTALL_INCLUDE := /usr/include +INSTALL_FONT := /usr/share/fonts + +all:$(OBJS) + @echo $(OBJS) + $(LD) $(LDFLAGS) -o $(TARGET_LIB) $(OBJS) + +%.o:%.cpp + @echo Compiling $< ... + $(CC) -c $(CFLAGS) $< -o $*.o + +.PHONY: clean + +install: + install $(FONT) $(INSTALL_FONT) + install $(TARGET_LIB) $(INSTALL_LIB) + install $(HEADER) $(INSTALL_INCLUDE) + +clean: + rm *.so *.o -rf