#*************************************************************************** # PROJECT MusixTeX Preprocessor # TITLE template for manual creation of Makefile.in # FILE generic.in # AUTHOR J.C. Nieuwenhuizen # copyright (c) FlowerSoft 1995 # #*************************************************************************** NAME = name VERSION = 0.00 MS_VERSION = 0x00 # this makefile file: # MYSELF = @MYSELF@ # # extentions: # BAT = @BAT@ EXE = @EXE@ # # offending msdos backslash: # Z = @Z@ # # utilities: # SHELL = @SHELL@ CAT = @CAT@ CP = @CP@ RM = @RM@ # # compiler: # CC = @CC@ CXX = @CPLUSPLUS@ DEPEND = @DEPEND@ # # compile switches: # CFLAGS = @CFLAGS@ CXXFLAGS = @CXXFLAGS@ DEFINES = @DEFINES@ # # linker: # LD = @LD@ # # link switches: # LDFLAGS = @LDFLAGS@ # # library path: # LIBDIR = @LIBDIR@ # # libraries: # LOADLIBES = @LOADLIBES@ # # stripper: # STRIP = @STRIP@ # # list of header files: # HFILES = # # list of input files: # CFILES = # # list of object dependencies: # OBJECTS = # # list of shell scripts: # SCRIPTS = configure # # list of other project files: # PROJECT = INSTALL README ChangeLog\ generic.in $(NAME).in $(NAME).dos\ gnu.sed msdos.sed unix.sed\ $(NAME).dep $(NAME).ol $(NAME).exe # # list of all files: # ALLFILES = $(PROJECT) $(SCRIPTS) $(HFILES) $(CFILES) # # implicit rules; problems? use gnu make # .c.o: $(CC) $(DEFINES) -c $(CFLAGS) $< .cc.o: $(CXX) $(DEFINES) -c $(CXXFLAGS) $< # # dependency list of executable: # $(NAME)$(EXE): $(OBJECTS) $(MYSELF) $(NAME).dep $(NAME).ol @LD_COMMAND@ $(STRIP) $@ # # list of objects: stupid msdos commandline # $(NAME).ol: $(MYSELF) echo $(OBJECTS) > $@ # objects: $(NAME).ol #dependency list of objects: # $(NAME).dep: $(HFILES) $(CFILES) -$(DEPEND) $(DEFINES) $(CFILES) > $@ # depend: $(NAME).dep # platform dependant makefiles: # $(NAME).make: sed -f unix.sed $(NAME).in > $@ $(NAME).gnu: sed -f gnu.sed $(NAME).in > $@ $(NAME).dos: sed -f msdos.sed $(NAME).in > $@ # # Makefile.in and Makefile # Makefile.in: $(CP) $(NAME).in $@ Makefile: $(NAME).make $(CP) $(NAME).make $@ Makefile.dos: $(NAME).dos $(CP) $(NAME).dos $@ # # install # install: # # clean # clean: -$(RM) *.o -$(RM) $(NAME)$(EXE) -$(RM) $(NAME).dep # # distclean # distclean: clean -$(RM) $(NAME).make -$(RM) $(NAME).dos -$(RM) $(NAME).gnu # ########################################### # DISTRIBUTION ########################################### # naming convention for zips: # # unix: # zips have extention .tar.gz # zaps have extention .zap # # msdos: # zips have extention .arj # zaps have extention .zip # # text files transported between unix and msdos platform # always have msdos line break format # conversion is simply too fast on unix platform # dist: zip # MS_DISTDIR =$(NAME)-$(MS_VERSION) ARJ = $(MS_DISTDIR).arj MS_ZIP = $(MS_DISTDIR).zap UNIX_ZIP = $(MS_DISTDIR).zip # # tar and zip file name: # DISTDIR = @DISTDIR@ TAR = @TAR@ ZIP = @ZIP@ DRIVE = @DRIVE@ # # dependency list of tar file: # # unix $(TAR): $(ALLFILES) -mkdir $(DISTDIR) # echo $(ALLFILES) | tr ' ' '\012' >MANIFEST tr -d '\\' < $(NAME).dep | tr ' ' '\012' | grep -v '\.o' > MANIFEST.$$ echo $(ALLFILES) | tr ' ' '\012' >> MANIFEST.$$ cat MANIFEST.$$ | sort | uniq > MANIFEST rm MANIFEST.$$ cp `cat MANIFEST` MANIFEST $(DISTDIR)/ chmod 644 $(DISTDIR)/* chmod +x $(DISTDIR)/configure tar -cf $(TAR) $(DISTDIR)/* rm -fr $(DISTDIR)/ #CAREFUL! # # dependency list of zip file: # zip: @zip@ # # zip for MSDOS # # unix $(MS_ZIP): $(ALLFILES) -rm $@ -mkdir $(MS_DISTDIR) echo $(ALLFILES) | tr ' ' '\012' >MANIFEST cp `cat MANIFEST` MANIFEST $(MS_DISTDIR)/ cp $(NAME).dep $(MS_DISTDIR)/ cp $(NAME).ol $(MS_DISTDIR)/ chmod 644 $(MS_DISTDIR)/* u2d $(MS_DISTDIR)/* -cp $(NAME).exe $(MS_DISTDIR) zip -k $(MS_ZIP) $(MS_DISTDIR)/* rm -fr $(MS_DISTDIR)/ #CAREFUL! # mszip: $(MS_ZIP) chmod 644 $(MS_ZIP) # # dependency list of arj file: # # msdos $(ARJ): $(ALLFILES) MANIFEST -del $@ xcopy @MANIFEST $(DRIVE)$(MS_DISTDIR) copy MANIFEST $(DRIVE)$(MS_DISTDIR) -xcopy $(NAME).exe $(DRIVE)$(MS_DISTDIR) attrib -a $(DRIVE)$(MS_DISTDIR)$(Z)*.* arj a $(ARJ) $(DRIVE)$(MS_DISTDIR)$(Z)*.* xdel /dsn $(DRIVE)$(MS_DISTDIR) #CAREFUL! # # zip for unix # # msdos $(UNIX_ZIP): $(ALLFILES) MANIFEST -del $@ xcopy @MANIFEST $(DRIVE)$(MS_DISTDIR) # use `make unzap' on unix instead # d2u $(DRIVE)$(MS_DISTDIR)$(Z)*.* -xcopy $(NAME).exe $(DRIVE)$(MS_DISTDIR) pkzip -P $(UNIX_ZIP) $(DRIVE)$(MS_DISTDIR)$(Z)*.* xdel /dsn $(DRIVE)$(MS_DISTDIR) #CAREFUL! # uzip: $(UNIX_ZIP) # # zap (the zip to the other platform) dependencies: # zap: @zap@ # # unzip .zap file from msdos # # unix UNIX_UNZAP: $(MAKE) zip # make backup before overwrite unzip $(UNIX_ZIP) -rm $(MS_DISTDIR)/manifest mv $(MS_DISTDIR)/changelo $(MS_DISTDIR)/ChangeLog mv $(MS_DISTDIR)/configur $(MS_DISTDIR)/configure mv $(MS_DISTDIR)/copying $(MS_DISTDIR)/COPYING mv $(MS_DISTDIR)/install $(MS_DISTDIR)/INSTALL mv $(MS_DISTDIR)/news $(MS_DISTDIR)/NEWS mv $(MS_DISTDIR)/readme $(MS_DISTDIR)/README mv $(MS_DISTDIR)/todo $(MS_DISTDIR)/TODO # mv $(MS_DISTDIR)/makefile.in $(MS_DISTDIR)/Makefile.in # mv $(MS_DISTDIR)/makefile $(MS_DISTDIR)/Makefile -rm $(MS_DISTDIR)/Makefile.in -rm $(MS_DISTDIR)/makefile -mv $(MS_DISTDIR)/$(NAME).exe . d2u $(MS_DISTDIR)/* chmod +x $(MS_DISTDIR)/configure chmod +x $(MS_DISTDIR)/docmpp chmod +x $(MS_DISTDIR)/dodocmpp chmod +x $(MS_DISTDIR)/mdo mv $(MS_DISTDIR)/* . rmdir $(MS_DISTDIR) # # unzip .zip file from unix # # unix MS_UNZAP: # $(MAKE) zip # make backup before overwrite pkunzip -d $(MS_ZIP) $(DRIVE) move $(DRIVE)$(MS_DISTDIR)$(Z)*.* . rmdir $(DRIVE)$(MS_DISTDIR) # # unzap (unzip the zip from the other platform) dependencies: # unzap: @unzap@ # # automatically generated dependencies # # include $(NAME).dep #