libmonochrome/Makefile

67 lines
2.1 KiB
Makefile
Raw Normal View History

2016-04-21 22:27:29 +02:00
#******************************************************************************#
# #
# Makefile #
2016-04-22 07:06:40 +02:00
# | Project : libmonochrome #
2016-04-21 22:27:29 +02:00
# #
# By: thomas <thomas@touhey.fr> #
# Last updated: 2015/12/23 10:02:49 #
# #
#******************************************************************************#
# INCLUDE CONFIGURATION
include $(CURDIR)/Makefile.cfg
# DEDUCED VARIABLES
ALLOBJ = $(SRC:%=$(OBJDIR)/%.o)
ALLINC = $(INCPUB:%=$(INCDIR)/%.h) $(INCINT:%=$(INCDIR)/%.h)
# STYLE VARS
define \n
endef
2016-04-21 22:27:29 +02:00
# RULES
## Make everything (default)
all: lib$(NAME).a
## Make the object directory
$(OBJDIR):
$(MKDIR) $@
## Make an object file out of a C source file
$(OBJDIR)/%.o: $(SRCDIR)/%.c $(ALLINC)
2016-04-21 22:27:29 +02:00
$(CC) -c -o $@ $< $(CFLAGS)
## Make the library
lib$(NAME).a: $(OBJDIR) $(ALLOBJ)
2016-04-26 12:05:45 +02:00
$(AR) rc $@ $(ALLOBJ)
2016-04-21 22:27:29 +02:00
$(RANLIB) $@
## Clean the object files and compressed manpages
2016-04-21 22:27:29 +02:00
clean:
$(RM) $(ALLOBJ)
## Clean the object files and the binary
fclean: clean
$(RM) lib$(NAME).a
## Remake the project
re: fclean all
## Package lib
package: lib$(NAME)_$(VERSION).deb
lib$(NAME)_$(VERSION).deb: lib$(NAME).a $(INCPUB:%=$(INCDIR)/%.h)
$(INST) -m 755 -d $(TGTRT)$(TGTDIR)/lib/$(NAME)/$(VERSION)/include
$(INST) -m 644 lib$(NAME).a $(TGTRT)$(TGTDIR)/lib/$(NAME)/$(VERSION)
$(foreach inc, $(INCPUB), \
$(INST) -m 755 -d $(TGTRT)$(TGTDIR)/lib/$(NAME)/$(VERSION)/include/$(shell dirname $(inc).h)$(\n)
$(INST) -m 644 $(INCDIR)/$(inc).h $(TGTRT)$(TGTDIR)/lib/$(NAME)/$(VERSION)/include/$(shell dirname $(inc).h)$(\n))
$(INST) -m 755 -d $(TGTRT)$(TGTMANDIR)/man3
$(foreach man, $(MAN3), \
$(INST) -m 644 $(MANDIR)/man3/$(man) $(TGTRT)$(TGTMANDIR)/man3$(\n))
2016-04-21 22:27:29 +02:00
## Doz rulz are phunny
.PHONY: all clean fclean re package install
2016-04-21 22:27:29 +02:00
# END OF FILE