#***************************************************************************
# PROJECT  MusixTeX Preprocessor  
# TITLE    Level 1 makefile for mpp
# FILE     src/Makefile
# AUTHOR   JCNieuwenhuizen
#          copyright (c) FlowerSoft 1995, 1996, 1997
#
#***************************************************************************

# default target
#
default:
	@echo "please run make from toplevel dir"
	$(MAKE) -C ..
#

# this makefile file:
#
MYSELF = Makefile
#

include ../config/$(PLATFORM)/Makefile

# current srcdir
#
srcdir = .
#

# compile inis
#
INITS = bar.ini clef.ini feature.ini key.ini macro.ini
#

# compile outputs
#
OUTPUTS = $(NAME).ol $(NAME).dep
#

# list of header files:
#
HFILES = array.hh\
 bar.hh\
 beam.hh\
 beamlist.hh\
 beamnote.hh\
 chord.hh\
 chordlis.hh\
 citerate.hh\
 clef.hh\
 clist.hh\
 config.hh\
 cplusplu.hh\
 cresc.hh\
 define.hh\
 duration.hh\
 featlist.hh\
 feature.hh\
 garray.hh\
 generic.hh\
 glist.hh\
 globals.hh\
 grlist.hh\
 gslist.hh\
 imacro.hh\
 init.hh\
 inote.hh\
 integer.hh\
 interval.hh\
 intlist.hh\
 key.hh\
 list.hh\
 maclist.hh\
 macro.hh\
 mpp.hh\
 namearra.hh\
 note.hh\
 notelist.hh\
 notename.hh\
 noteslis.hh\
 object.hh\
 path.hh\
 proto.hh\
 score.hh\
 script.hh\
 simpnote.hh\
 slope.hh\
 slur.hh\
 slurlist.hh\
 snotelis.hh\
 sortable.hh\
 staff.hh\
 staflist.hh\
 stem.hh\
 string.hh\
 strike.hh\
 strlist.hh\
 textstr.hh\
 token.hh\
 verb.hh\
 vray.hh\
 lgetopt.hh\
 version.hh\

#

# list of input files:
#
CFILES = array.cc\
 bar.cc\
 beam.cc\
 beamlist.cc\
 beamnote.cc\
 chord.cc\
 clef.cc\
 dataf.cc\
 cresc.cc\
 define.cc\
 duration.cc\
 error.cc\
 feature.cc\
 ifeature.cc\
 imacro.cc\
 init.cc\
 inote.cc\
 key.cc\
 list.cc\
 lgetopt.cc\
 maclist.cc\
 macro.cc\
 mpp.cc\
 note.cc\
 notename.cc\
 noteslis.cc\
 path.cc\
 object.cc\
 score.cc\
 script.cc\
 simpnote.cc\
 slope.cc\
 slur.cc\
 slurlist.cc\
 staff.cc\
 stem.cc\
 string.cc\
 strike.cc\
 token.cc\
 verb.cc\
 version.cc\

#

# list of object dependencies:
#
OBJECTSCC = $(CFILES:.cc=.o)
OBJECTS = $(OBJECTSCC:.c=.o)

# file types of mpp project
#
.SUFFIXES: .c .cc .o .mpp .ps
#

.c.o:
	$(CC) $(DEFINES) $(INCLUDES) -c $(CFLAGS) $(ONAME) $(CCINPUT)$<
.cc.o:
	$(CXX) $(DEFINES) $(INCLUDES) -c $(CXXFLAGS) $(ONAME) $(CXXINPUT)$<

# dependency list of executable:
#
$(NAME)$(EXE): $(OBJECTS) $(LIBES) $(MYSELF) $(NAME).dep $(NAME).ol
	 $(LD_COMMAND)
#	$(STRIP) $@

# always compile version.cc:
#
version.o: $(CFILES) systemna.hh

systemna.hh: Makefile
	echo "\"$(SYSTEMID)\"" > $@

# clean
#
clean:
	-$(RM) *.o
	-$(RM) $(NAME)$(EXE)
	-$(RM) m.log
#


#dependency list of objects:
#
$(NAME).dep: $(HFILES) # $(CFILES)
	-$(DEPEND) $(DEFINES) $(INCLUDES) $(CFILES) > $@

# list of objects: stupid msdos commandline
#
$(NAME).ol: $(HFILES)
	echo $(OBJECTS) > $@
	echo $(LOADLIBES) >> $@
	
DFILES=$(HFILES) $(CFILES) $(INITS) $(OUTPUTS) Makefile
progdocs=$(DFILES)
progdoc:
	doc++ -v -p -d $(DOCXXDIR) $(progdocs)

progtex:
	doc++ -t -v -p -o doc++/prog.tex $(progdocs)

dist:
	mkdir ..$(Z)$(DISTDIR)$(Z)src
	$(LN) $(DFILES) ..$(Z)$(DISTDIR)$(Z)src

# automatic generated dependencies:
#
include mpp.dep
#
