Initial import of Scalos. To decrease size I have
[AROS-Contrib.git] / scalos / Prefs / Menu / makefile
bloba20704f4fa61dafdab935aa5d6a1f671e8520ab6
1 # makefile for Scalos Menu preferences
2 # $Date$
3 # $Revision$
4 # using SAS/C
6 #############################################################
8 SUBDIRMAKE = $(MAKE) -s -C
10 #############################################################
12 .PHONY: clean install nodebug
14 #############################################################
16 SDPATH = /
18 CC = sc
19 CFLAGS = nostkchk nochkabort strmer dbg=f nover streq data=far \
20 define SCALOSLOCALE=$(SCALOS_LOCALE) \
21 idlen=64 idir=//include
22 AS = phxass
23 AFLAGS = noexe m=68020 opt=NRQB i=sc:Assembler_Headers/
24 LD = slink
25 LDFLAGS = quiet batch noicons sd
26 LDLIBS = LIB:mempools.lib LIB:scm.lib LIB:sc.lib LIB:debug.lib LIB:amiga.lib
27 ASTARTUP =
28 CSTARTUP = LIB:c.o
29 OBJDIR = .sasobj
30 CATCOMP = CatComp
31 FLEXCAT = FlexCat
32 SCALOS_LOCALE = $(OBJDIR)/ScalosMenu_locale.h
34 #############################################################
36 CSRCS = Menu.c
38 #############################################################
40 $(OBJDIR)::
41 @[ -d $(OBJDIR) ] || mkdir $(OBJDIR) > /dev/null 2>&1
43 OBJS = $(ASRCS:%.asm=$(OBJDIR)/%.o) $(CSRCS:%.c=$(OBJDIR)/%.o)
45 #############################################################
47 NAME = .bin_os3/Scalos_Menu
48 NAMEDBG = $(NAME).debug
49 DESTTOOL = Scalos:Prefs/Scalos Menu
50 CAT_FILE = Scalos/ScalosMenu.catalog
51 CATCOMPHEADER = $(SCALOS_LOCALE)
52 DESTCAT = Locale:Catalogs
53 CATS = dansk \
54 deutsch \
55 español \
56 français \
57 italiano \
58 svenska \
59 ÃeÓtina
61 ALLCATS = $(foreach cat,$(CATS),catalogs/$(cat)/$(CAT_FILE))
63 #############################################################
65 # The default target (all) and what to really build
66 all: $(NAME) $(NAMEDBG) \
67 allcatalogs
68 # install
69 # clean
70 # launch
72 #############################################################
74 $(OBJDIR)/Menu.o : Menu.c $(SCALOS_LOCALE)
76 $(CATCOMPHEADER) : ScalosMenu.cd
77 @printf '\033[32mMake CatComp header: \033[31m\033[1m$@ \033[32mfrom \033[31m$<\033[0m\n'
78 $(FLEXCAT) $(subst ../,/,$<) $@=$(SDPATH)/CatComp_h.sd
80 #############################################################
82 # CLI command used when linking the final executables
83 $(NAME) : $(OBJS)
84 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
85 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LDLIBS) $(LDFLAGS) STRIPDEBUG
87 $(NAMEDBG) : $(OBJS)
88 @printf '\033[32mLink: \033[31m\033[1m$@\033[0m\n'
89 @$(LD) FROM $(CSTARTUP) $(OBJS) TO $@ LIB $(LDLIBS) $(LDFLAGS) ADDSYM
91 #############################################################
93 # commands generated a catalog (.catalog) from a catalog translation (.ct) file.
94 .ct.catalog:
95 $(CATCOMP) $*.cd $< CATALOG $*.catalog VB=1
97 $(OBJDIR)/%.o : %.c
98 @printf '\033[32mCompile: \033[31m\033[1m$<\033[0m\n'
99 @$(CC) $(CFLAGS) $*.c objectname $@
101 $(OBJDIR)/%.o : %.s
102 @printf '\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
103 @$(AS) $(AFLAGS) $< to $@
105 $(OBJDIR)/%.o : %.asm
106 @printf '\033[32mAssemble: \033[31m\033[1m$<\033[0m\n'
107 @$(AS) $(AFLAGS) $< to $@
109 #############################################################
111 # copy all generated file to their final destinations
112 install:
113 @printf '\033[32mInstall: \033[31m\033[1m$(NAME)\033[0m\n'
114 @copy $(NAME) "$(DESTTOOL)"
115 @printf '\033[32mInstall: \033[31m\033[1m$(CAT_FILE)\033[0m\n'
116 -@$(foreach cat,$(CATS),copy "catalogs/$(cat)/$(CAT_FILE)" "$(DESTCAT)/$(cat)/Scalos" clone;)
118 #############################################################
120 # make all Scalos preferences .catalogs
121 allcatalogs:
122 -@$(foreach cat,$(CATS),$(SUBDIRMAKE) catalogs/$(cat)/Scalos;)
124 #############################################################
126 # A little something to clean it all up
127 clean:
128 @printf '\033[32mCleanup: \033[31m\033[1m'
129 -@delete $(NAME) $(NAMEDBG) $(OBJS) $(CATCOMPHEADER) $(ALLCATS)
130 @printf '\033[0m'
132 #############################################################
134 nodebug:
135 -@$(SPLAT) -s -o "d2(" "d1(" "#?.c"
137 #############################################################