add $(EXEEXT) to executable targets during installation for MinGW
[suif.git] / Makefile.sub
blobfeab41e2a9ad623b3f07ccd30e1b5faadc88b070
1 # Sub-Makefile used by Makefile.std
3 FORCE_RCS=
5 include $(SUIFHOME)/Makefile.rules
7 %.o: %.c
8                 @rm -f $*.o
9                 $(CC) -c $(CFLAGS) $<
12 # NOTE: The .rpo stuff will have no effect if there is no .rpo file,
13 # so this code will work for C++ compilers that don't use or produce
14 # .rpo files as well as for those that do.
16 %.rpo:
17         
19 .SECONDARY: %.rpo
21 %.o : %.cc %.rpo
22                 @rm -f $*.o
23                 $(CXX) -c $(CXXFLAGS) -o $@ $<
25 $(TARGET):      $(OBJS) $(START_STY) prog_ver.cc
26                 @rm -f $(TARGET)
27                 $(CXX) -o $(TARGET) $(CXXFLAGS) $(OBJS) $(START_STY) \
28                         $(LIBDIRFLAG) $(LIBS) prog_ver.cc
30 pure:           $(OBJS) $(START_STY) prog_ver.cc
31                 @rm -f $(TARGET)
32                 $(PURE) $(PURE_FLAGS) $(EXTRA_PURE) $(CXX) \
33                         -o $(TARGET) $(CXXFLAGS) $(OBJS) $(START_STY) \
34                         $(LIBDIRFLAG) $(LIBS) prog_ver.cc
36 ifdef LIB_CLOSURE_GEN
37 stamp-library-closure:  $(OBJS) lib_ver.o $(REGISTER_LIB)
38                 @rm -f __fake_exec
39                 $(LIB_CLOSURE_GEN) __fake_exec $(OBJS) lib_ver.o \
40                         $(REGISTER_LIB) $(LIBDIRFLAG) $(LIBS) ; true
41                 @rm -f __fake_exec
42                 @touch stamp-library-closure
43 endif
45 ifdef LIB_CLOSURE_GEN
46 $(STATIC_LIBNAME):      $(OBJS) lib_ver.o $(REGISTER_LIB) stamp-library-closure
47 else
48 $(STATIC_LIBNAME):      $(OBJS) lib_ver.o $(REGISTER_LIB)
49 endif
50                 @rm -f $(STATIC_LIBNAME)
51 ifdef NEED_RANLIB
52                 ar ruv $(STATIC_LIBNAME) $(OBJS) lib_ver.o $(REGISTER_LIB)
53                 ranlib $(STATIC_LIBNAME)
54 else
55                 ar ruvs $(STATIC_LIBNAME) $(OBJS) lib_ver.o $(REGISTER_LIB)
56 endif
58 ifdef SHARED_LIB_GEN
59 ifdef LIB_CLOSURE_GEN
60 $(SHARED_LIBNAME):      $(OBJS) lib_ver.o $(REGISTER_LIB) stamp-library-closure
61 else
62 $(SHARED_LIBNAME):      $(OBJS) lib_ver.o $(REGISTER_LIB)
63 endif
64                 @rm -f $(SHARED_LIBNAME)
65                 $(SHARED_LIB_GEN) $(SHARED_LIBNAME) $(OBJS) lib_ver.o \
66                         $(REGISTER_LIB) $(LOCALLIBDIRS) -L$(SODIR) \
67                         $(GLOBALLIBDIRS) $(LIBS)
68 endif
70 Makefile.deps:  Makefile
71                 $(MAKE) --no-print-directory depend
73 prog_ver.cc:    $(OBJS)
74                 @echo Creating new prog_ver.cc file. 2>&1
75                 @rm -f prog_ver.cc
76                 @$(BINDIR)/ver_create_ver_cc prog_ver.cc prog
78 start_sty.cc:   Makefile
79                 @echo Creating new start_sty.cc file. 2>&1
80                 @$(BINDIR)/ver_create_start_sty_cc start_sty.cc '$(LIBS)'
82 register_lib.cc:        Makefile
83                 @echo Creating new register_lib.cc file. 2>&1
84                 @$(BINDIR)/ver_create_register_lib_cc register_lib.cc $(TARGET) '$(LIBS)'
86 lib_ver.cc:     $(OBJS)
87                 @echo Creating new lib_ver.cc file. 2>&1
88                 @rm -f lib_ver.cc
89                 @$(BINDIR)/ver_create_ver_cc lib_ver.cc lib$(TARGET)
91 include Makefile.deps