60 lines
1 KiB
Plaintext
Executable file
60 lines
1 KiB
Plaintext
Executable file
#default makefile for libraries
|
|
|
|
CPPFLAGS= $(CFLAGS)
|
|
|
|
all: $(SUBDIRS) $(OUTPUT)
|
|
|
|
include $(TOPDIR)/makefile.rules
|
|
|
|
$(filter %.a,$(OUTPUT)): depend
|
|
make make_a
|
|
|
|
$(filter %.lib,$(OUTPUT)): depend
|
|
make make_lib
|
|
|
|
make_a: $(LIBDIR) $(OBJDIR) $(OBJECTS_TARGETS) $(OBJECTS_DONT_LINK_TARGETS)
|
|
ar rcs $(OUTPUT) $(OBJECTS_TARGETS)
|
|
|
|
make_lib: $(LIBDIR) $(OBJDIR) $(OBJECTS_TARGETS) $(OBJECTS_DONT_LINK_TARGETS)
|
|
lib -nologo -out:$(OUTPUT) $(OBJECTS_TARGETS)
|
|
|
|
$(LIBDIR):
|
|
mkdir $(LIBDIR) -p
|
|
|
|
ifneq ($(OBJECTS),)
|
|
$(OBJDIR):
|
|
mkdir $(OBJDIR) -p
|
|
endif
|
|
|
|
#dependancy generation
|
|
|
|
ALLOBJECTS = $(OBJECTS_TARGETS)
|
|
DEPOBJ=$(ALLOBJECTS:.$(OBJ)=.d)
|
|
|
|
$(OBJDIR)%.d: %.c
|
|
$(CC) $(CFLAGS) $(E_CFLAGS) -MM $< >> $@
|
|
|
|
$(OBJDIR)%.d: %.cpp
|
|
$(CC) $(CFLAGS) $(E_CFLAGS) -MM $< >> $@
|
|
|
|
depend: $(OBJDIR) $(subst .o,.d,$(OBJECTS_TARGETS))
|
|
$(DEPSUBS)
|
|
|
|
ifneq ($(wildcard $(OBJDIR)*.d),)
|
|
include $(wildcard $(OBJDIR)*.d)
|
|
endif
|
|
|
|
#rules for cleaning
|
|
|
|
ifdef OBJECTS
|
|
CLEANOBJ=rm -r -f $(OBJDIR)
|
|
endif
|
|
ifdef OUTPUT
|
|
CLEANOUT=rm -f $(OUTPUT)
|
|
endif
|
|
|
|
clean:
|
|
$(CLEANOBJ)
|
|
$(CLEANOUT)
|
|
$(CLEANSUBS)
|